Skip to content
Permalink

Comparing changes

Choose two branches to see what’s changed or to start a new pull request. If you need to, you can also or learn more about diff comparisons.

Open a pull request

Create a new pull request by comparing changes across two branches. If you need to, you can also . Learn more about diff comparisons here.
base repository: m-labs/artiq
Failed to load repositories. Confirm that selected base ref is valid, then try again.
Loading
base: ff1e35e03f7a
Choose a base ref
...
head repository: m-labs/artiq
Failed to load repositories. Confirm that selected head ref is valid, then try again.
Loading
compare: bdb85c8eab55
Choose a head ref
  • 2 commits
  • 2 files changed
  • 1 contributor

Commits on Aug 3, 2016

  1. Copy the full SHA
    ecc3097 View commit details
  2. protocols.pc_rpc: exclude kernel_invariants from proxying.

    Fixes #531.
    whitequark authored and sbourdeauducq committed Aug 3, 2016
    Copy the full SHA
    bdb85c8 View commit details
Showing with 7 additions and 1 deletion.
  1. +1 −1 artiq/compiler/transforms/llvm_ir_generator.py
  2. +6 −0 artiq/protocols/pc_rpc.py
2 changes: 1 addition & 1 deletion artiq/compiler/transforms/llvm_ir_generator.py
Original file line number Diff line number Diff line change
@@ -445,7 +445,7 @@ def rpc_tag_error(typ):
print(typ)
assert False

if not (types.is_function(typ) or types.is_method(typ) or
if not (types.is_function(typ) or types.is_method(typ) or types.is_rpc(typ) or
name == "__objectid__"):
rpctag = b"Os" + self._rpc_tag(typ, error_handler=rpc_tag_error) + b":n\x00"
llrpctag = self.llstr_of_str(rpctag)
6 changes: 6 additions & 0 deletions artiq/protocols/pc_rpc.py
Original file line number Diff line number Diff line change
@@ -100,6 +100,8 @@ class Client:
in the middle of a RPC can break subsequent RPCs (from the same
client).
"""
kernel_invariants = set()

def __init__(self, host, port, target_name=AutoTarget, timeout=None):
self.__socket = socket.create_connection((host, port), timeout)

@@ -187,6 +189,8 @@ class AsyncioClient:
Concurrent access from different asyncio tasks is supported; all calls
use a single lock.
"""
kernel_invariants = set()

def __init__(self):
self.__lock = asyncio.Lock()
self.__reader = None
@@ -286,6 +290,8 @@ class BestEffortClient:
:param retry: Amount of time to wait between retries when reconnecting
in the background.
"""
kernel_invariants = set()

def __init__(self, host, port, target_name,
firstcon_timeout=0.5, retry=5.0):
self.__host = host