I've used code similar to yours without problems. I also compiled your example without any problems. Works for me.
On Sun, Nov 23, 2008 at 8:57 PM, Tom H <[EMAIL PROTECTED]> wrote: > > > I have the following piece of test code: > > int main(int argc, char *argv[]) > { > int sock = 7; /* to simplify test case */ > struct event e0; > struct event *e1; > > event_init(); > > // works fine: --------------- > printf("Starting test 0...\n"); > event_set(&e0, sock, EV_READ, handle_new_connection, &e0); > event_add(&e0, NULL); > //---------------------------- > > // doesn't work: ------------- > printf("Starting test 1...\n"); > e1 = (struct event*) malloc(sizeof(struct event)); // <<<<<< > if (e1==NULL) > { > printf("malloc failed\n"); > exit(1); > } > > event_set(e1, sock, EV_READ, handle_new_connection, e1); > event_add(e1, NULL); > //---------------------------- > > return 0; > } > > The first test (event structure on the stack) works correctly, however the > malloc'ed structure seems to cause problems in event_set. Output from > valgrind: > > Starting test 0... > Starting test 1... > ==11398== Invalid write of size 4 > ==11398== at 0x402CA99: event_set (event.c:516) > ==11398== by 0x8048668: main (test6.c:33) > ==11398== Address 0x4172110 is 0 bytes after a block of size 72 alloc'd > ==11398== at 0x401C405: malloc (vg_replace_malloc.c:149) > ==11398== by 0x804862A: main (test6.c:26) > ==11398== > ... > > "0 bytes after a block of size 72 alloc'd" apparently means that something > is accessing one byte after the allocated memory. > > Can anyone see what I'm doing wrong? > > I am running libevent-1.4.8-stable, and sizeof(struct event) is 72 (i386 > system). > > thanks, > > > Tom > > > _______________________________________________ > Libevent-users mailing list > Libevent-users@monkey.org > http://monkeymail.org/mailman/listinfo/libevent-users > > -- "Be excellent to each other"
_______________________________________________ Libevent-users mailing list Libevent-users@monkey.org http://monkeymail.org/mailman/listinfo/libevent-users