Browse Source

longjmp() corrected

PYADPT-55
Volker Birk 9 years ago
parent
commit
354b0c90c8
  1. 4
      src/sync_mixin.cc
  2. 1
      src/sync_mixin.hh
  3. 7
      test/sync_test.py

4
src/sync_mixin.cc

@ -68,14 +68,12 @@ namespace pEp {
#endif #endif
jmp_buf SyncMixIn::env; jmp_buf SyncMixIn::env;
int SyncMixIn::val;
void *SyncMixIn::_msg; void *SyncMixIn::_msg;
int SyncMixIn::inject_sync_msg(void *msg, void *management) int SyncMixIn::inject_sync_msg(void *msg, void *management)
{ {
val = 0;
_msg = msg; _msg = msg;
setjmp(env); int val = setjmp(env);
if (!val) if (!val)
do_sync_protocol(session, management); do_sync_protocol(session, management);
return 0; return 0;

1
src/sync_mixin.hh

@ -29,7 +29,6 @@ namespace pEp {
pEp_identity *me, pEp_identity *partner); pEp_identity *me, pEp_identity *partner);
static jmp_buf env; static jmp_buf env;
static int val;
static void *_msg; static void *_msg;
static int inject_sync_msg(void *msg, void *management); static int inject_sync_msg(void *msg, void *management);
static void *retrieve_next_sync_msg(void *management); static void *retrieve_next_sync_msg(void *management);

7
test/sync_test.py

@ -19,5 +19,12 @@ class Handler(SyncMixIn):
handler = Handler() handler = Handler()
def process(path):
with open(path, 'r') as f:
text = f.read()
return Message(text)
# this is an interactive test, so start it with python -i # this is an interactive test, so start it with python -i

Loading…
Cancel
Save