X-Git-Url: http://git.silcnet.org/gitweb/?a=blobdiff_plain;f=lib%2Fsilcutil%2Ftests%2Ftest_silcasync.c;h=92ff6669157fbb2cd22aa91fec59c3c5f6751d41;hb=e7b6c157b80152bf9fb9266e6bdd93f9fb0db776;hp=0e11b868362517491b9f14352a7e227d2cb1ac97;hpb=c27a4ecc3e616e8a5ee09b8ca888ed6ff3e501f7;p=silc.git diff --git a/lib/silcutil/tests/test_silcasync.c b/lib/silcutil/tests/test_silcasync.c index 0e11b868..92ff6669 100644 --- a/lib/silcutil/tests/test_silcasync.c +++ b/lib/silcutil/tests/test_silcasync.c @@ -1,6 +1,6 @@ /* SilcAsyncOperation tests */ -#include "silcincludes.h" +#include "silc.h" #include "silcfsm.h" #include "silcasync.h" @@ -10,7 +10,7 @@ SilcSchedule schedule; typedef struct { SilcFSM fsm; - SilcFSMSemaStruct sema; + SilcFSMEventStruct sema; SilcAsyncOperation op; Callback cb; void *cb_context; @@ -59,7 +59,7 @@ static void async_call_cb(void *context) Foo f = context; SILC_LOG_DEBUG(("*******Callback, signal and continue to next state")); f->op = NULL; - SILC_FSM_SEMA_POST(&f->sema); + SILC_FSM_EVENT_SIGNAL(&f->sema); SILC_FSM_CALL_CONTINUE(f->fsm); } @@ -69,7 +69,7 @@ SILC_FSM_STATE(test_st_start) SILC_LOG_DEBUG(("test_st_start")); - silc_fsm_sema_init(&f->sema, fsm, 0); + silc_fsm_event_init(&f->sema, fsm); /** Wait async callback */ SILC_LOG_DEBUG(("Call async call")); @@ -80,14 +80,17 @@ SILC_FSM_STATE(test_st_start) SILC_FSM_STATE(test_st_second) { Foo f = fsm_context; + SilcBool timedout; SILC_LOG_DEBUG(("test_st_second")); - SILC_FSM_SEMA_TIMEDWAIT(&f->sema, 0, 1); + SILC_FSM_EVENT_TIMEDWAIT(&f->sema, 0, 1, &timedout); - SILC_LOG_DEBUG(("Sema timedout, aborting async operation")); - if (f->op) - silc_async_abort(f->op, NULL, NULL); + if (timedout == TRUE) { + SILC_LOG_DEBUG(("Sema timedout, aborting async operation")); + if (f->op) + silc_async_abort(f->op, NULL, NULL); + } /** Finish */ silc_fsm_next_later(fsm, test_st_finish, 2, 0); @@ -119,11 +122,11 @@ int main(int argc, char **argv) if (argc > 1 && !strcmp(argv[1], "-d")) { silc_log_debug(TRUE); silc_log_debug_hexdump(TRUE); - silc_log_set_debug_string("*async*"); + silc_log_set_debug_string("*async*,*errno*"); } SILC_LOG_DEBUG(("Allocating scheduler")); - schedule = silc_schedule_init(0, NULL); + schedule = silc_schedule_init(0, NULL, NULL); f = silc_calloc(1, sizeof(*f)); if (!f)