couchdb-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Jan Lehnardt <...@apache.org>
Subject Re: svn commit: r687438 - /incubator/couchdb/trunk/src/couchdb/couch_erl_driver.c
Date Thu, 21 Aug 2008 09:57:27 GMT

On Aug 20, 2008, at 22:08, damien@apache.org wrote:

> Author: damien
> Date: Wed Aug 20 13:08:05 2008
> New Revision: 687438
>
> URL: http://svn.apache.org/viewvc?rev=687438&view=rev
> Log:
> Fix for possible multi-threading bottleneck in ICU driver.

Damien, you mentioned on IRC that ICU is thread safe. I'm
just doing an installation of CouchDB and all the dependencies
on FreeBSD and the FreeBSD port of ICU gives me the option
to build a non-thread-safe version of ICU. Is this something we
have to worry about? Should our build system try and detect
a not-thread-safe ICU installation to avoid nasty problems?

Cheers
Jan
--

>
>
> Modified:
>    incubator/couchdb/trunk/src/couchdb/couch_erl_driver.c
>
> Modified: incubator/couchdb/trunk/src/couchdb/couch_erl_driver.c
> URL: http://svn.apache.org/viewvc/incubator/couchdb/trunk/src/couchdb/couch_erl_driver.c?rev=687438&r1=687437&r2=687438&view=diff
> =
> =
> =
> =
> =
> =
> =
> =
> ======================================================================
> --- incubator/couchdb/trunk/src/couchdb/couch_erl_driver.c (original)
> +++ incubator/couchdb/trunk/src/couchdb/couch_erl_driver.c Wed Aug  
> 20 13:08:05 2008
> @@ -144,18 +144,28 @@
> }
>
> ErlDrvEntry couch_driver_entry = {
> -        NULL,                                               /*  
> F_PTR init, N/A */
> -        couch_drv_start,                    /* L_PTR start, called  
> when port is opened */
> -        couch_drv_stop,                     /* F_PTR stop, called  
> when port is closed */
> -        NULL,                   /* F_PTR output, called when erlang  
> has sent */
> -        NULL,                                               /*  
> F_PTR ready_input, called when input descriptor ready */
> -        NULL,                                               /*  
> F_PTR ready_output, called when output descriptor ready */
> -        "couch_erl_driver",                          /* char  
> *driver_name, the argument to open_port */
> -        NULL,                                               /*  
> F_PTR finish, called when unloaded */
> -        NULL,                       /* Not used */
> -        couch_drv_control,               /* F_PTR control,  
> port_command callback */
> -        NULL,                                               /*  
> F_PTR timeout, reserved */
> -        NULL                                                /*  
> F_PTR outputv, reserved */
> +        NULL,               /* F_PTR init, N/A */
> +        couch_drv_start,    /* L_PTR start, called when port is  
> opened */
> +        couch_drv_stop,     /* F_PTR stop, called when port is  
> closed */
> +        NULL,               /* F_PTR output, called when erlang has  
> sent */
> +        NULL,               /* F_PTR ready_input, called when input  
> descriptor ready */
> +        NULL,               /* F_PTR ready_output, called when  
> output descriptor ready */
> +        "couch_erl_driver", /* char *driver_name, the argument to  
> open_port */
> +        NULL,               /* F_PTR finish, called when unloaded */
> +        NULL,               /* Not used */
> +        couch_drv_control,  /* F_PTR control, port_command callback  
> */
> +        NULL,               /* F_PTR timeout, reserved */
> +        NULL,               /* F_PTR outputv, reserved */
> +        NULL,               /* F_PTR ready_async */
> +        NULL,               /* F_PTR flush */
> +        NULL,               /* F_PTR call */
> +        NULL,               /* F_PTR event */
> +        ERL_DRV_EXTENDED_MARKER,
> +        ERL_DRV_EXTENDED_MAJOR_VERSION,
> +        ERL_DRV_EXTENDED_MINOR_VERSION,
> +        ERL_DRV_FLAG_USE_PORT_LOCKING,
> +        NULL,               /* Reserved -- Used by emulator  
> internally */
> +        NULL,               /* F_PTR process_exit */
> };
>
> DRIVER_INIT(couch_erl_driver) /* must match name in driver_entry */
>
>
>


Mime
View raw message