File: check_eintr.r

package info (click to toggle)
r-cran-pbdzmq 0.3.3%2Bdfsg-1
  • links: PTS, VCS
  • area: main
  • in suites: buster
  • size: 800 kB
  • sloc: ansic: 675; sh: 93; pascal: 30; makefile: 4
file content (25 lines) | stat: -rw-r--r-- 744 bytes parent folder | download | duplicates (2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
library(pbdZMQ, quietly = TRUE)

context <- zmq.ctx.new()
receiver <- zmq.socket(context, .pbd_env$ZMQ.ST$PULL)
zmq.connect(receiver, "tcp://localhost:5557")

a1 <- zmq.poll(c(receiver), .pbd_env$ZMQ.PO$POLLIN)
print(a1)

a2 <- tryCatch(zmq.poll(c(receiver), .pbd_env$ZMQ.PO$POLLIN),
       interrupt = function(c) return(9),
       error = function(c) return(99))
print(a2)

a3 <- tryCatch(zmq.poll(c(receiver), .pbd_env$ZMQ.PO$POLLIN,
                       MC = ZMQ.MC(check.eintr = TRUE)),
        interrupt = function(c) return(9),
        error = function(c) return(99))
print(a3)

a4 <- zmq.poll(c(receiver), .pbd_env$ZMQ.PO$POLLIN,
               MC = ZMQ.MC(check.eintr = TRUE))
print(a4)
print("This message should not be reached.")