hi

you can try to add event_init before calling any libevent related function call

guillaume

2009/4/10 Peter Muller <ync7b753ufxtcjgjx...@googlemail.com>:
> Hi,
>
>
> i'm using libevent 1.4.9 with mingw under windows had have trouble
> setting up a minimal web server.
>
>
> ---( code )---
> #include <stdio.h>
>
> #include <evhttp.h>
>
>
>
> #define sleep(seconds)  Sleep(seconds * 1000)
>
>
> int main(int argc, char** argv) {
>
>
>        #ifdef WIN32
>
>        WSADATA wsaData;
>
>        if (WSAStartup(MAKEWORD(1, 1), &wsaData) != 0) {
>
>                fprintf(stderr, "WSAStartup failed.\n");
>
>                return 1;
>
>        }
>
>        #endif
>
>
>
>
>
>        struct evhttp* server = evhttp_new(0);
>
>        if (!server) {
>
>                exit(1);
>
>        }
>
>
>
>        int rc = evhttp_bind_socket(server, "127.0.0.1", 30080);
>
>        if (rc) {
>
>                exit(1);
>
>        }
>
>        sleep(120);
>
>
>
>
>
>
>        /* Unter Windows WinSock wieder freigeben
>
>         */
>
>        #ifdef MINGW
>
>        WSACleanup();
>
>        #endif
>
>
>
>        return 0;
>
> }
>
> ---
>
>
> No it seams that the program crashes while calling evhttp_bind_socket
>
>
> ---( GDB )---
> GNU gdb 6.6
> Copyright (C) 2006 Free Software Foundation, Inc.
> GDB is free software, covered by the GNU General Public License, and you are
> welcome to change it and/or distribute copies of it under certain conditions.
> Type "show copying" to see the conditions.
> There is absolutely no warranty for GDB.  Type "show warranty" for details.
> This GDB was configured as "i686-pc-mingw32"...
> (gdb) run
> Starting program: tmp/cac.exe
> Loaded symbols for C:\WINDOWS\system32\ntdll.dll
> Loaded symbols for C:\WINDOWS\system32\kernel32.dll
> Loaded symbols for C:\WINDOWS\system32\msvcrt.dll
> Loaded symbols for C:\WINDOWS\system32\ws2_32.dll
> Loaded symbols for C:\WINDOWS\system32\ws2help.dll
> Loaded symbols for C:\WINDOWS\system32\advapi32.dll
> Loaded symbols for C:\WINDOWS\system32\rpcrt4.dll
> Loaded symbols for C:\WINDOWS\system32\secur32.dll
> Loaded symbols for tmp\libevent.dll
>
> Program received signal SIGSEGV, Segmentation fault.
> 0x62e03618 in event_add (ev=0x3d4088, tv=0x0)
>    at tmp/libevent/event.c:717
> 717             const struct eventop *evsel = base->evsel;
> (gdb) backtrace
> #0  0x62e03618 in event_add (ev=0x3d4088, tv=0x0)
>    at tmp/libevent/event.c:717
> #1  0x62e0a1fc in evhttp_accept_socket (http=0x3d2588, fd=1896)
>    at tmp/libevent/http.c:2248
> #2  0x62e0a14a in evhttp_bind_socket (http=0x3d2588,
>    address=0x403086 "0.0.0.0", port=30080)
>    at tmp/libevent/http.c:2222
> #3  0x004014fc in main (argc=1, argv=0x3d2568)
>    at tmp/src/main.c:72
> ---
>
>
> I have no idea what happens, perhaps forgot to call some
> initialization function. Can somebody help?
> _______________________________________________
> Libevent-users mailing list
> Libevent-users@monkey.org
> http://monkeymail.org/mailman/listinfo/libevent-users
>
_______________________________________________
Libevent-users mailing list
Libevent-users@monkey.org
http://monkeymail.org/mailman/listinfo/libevent-users

Reply via email to