Globus Toolkit 4.0: Asynchronous Event Handling: Example 1
#include <globus_common.h>
void
user_callback(
void * user_arg)
{
int * count;
count = (int *) user_arg;
fprintf(stdout, "User callback, count = %d\n", *count);
exit(0);
}
int
main(
int argc,
char ** argv)
{
globus_reltime_t delay;
int count = 0;
globus_module_activate(GLOBUS_COMMON_MODULE);
GlobusTimeReltimeSet(delay, 1, 0);
globus_callback_register_oneshot(
NULL,
&delay,
user_callback,
&count);
while(1)
{
usleep(10000);
globus_poll_nonblocking();
fprintf(stdout, "After poll\n");
count++;
}
globus_module_deactivate(GLOBUS_COMMON_MODULE);
return 0;
}