This is the mail archive of the cygwin mailing list for the Cygwin project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: reentrant functions


On Thu, Apr 08, 2004 at 09:30:47PM +0200, Bas van Gompel wrote:
>Op Wed, 7 Apr 2004 21:46:43 +0200
>schreef Corinna Vinschen <corinna-cygwin from cygwin.com>
>in <20040407194643.GM26558@cygbert.vinschen.de>
>in local.ml.cygwin:
>:  On Apr  6 23:43, Oleg Ostrozhansky wrote:
>[...]
>: > not thread-safe.  But when as an example I try using _gets_r(), I'm
>: > getting a link error that this function does not exist:
>[...]
>:  Many reentrant functions from newlib are currently just not exported by
>:  Cygwin.  Any volunteer to collect these non-exported newlib functions
>:  so that we can add all of them?
>
>----
>$ grep -oR '_[^ ]\+_r *( *struct \+_reent' .|sed 's, *(.*,,'|sort|uniq
>_atoi_r
>_atol_r
>_atoll_r
>_calloc_r
>_cfree_r
>_close_r
>_creat_r
>_execve_r
>_fcloseall_r
>_fcntl_r
>_fgetpos64_r
>_fgetpos_r
>_fork_r
>_free_r
>_freopen64_r
>_freopen_r
>_fscanf_r
>_fseek_r
>_fseeko64_r
>_fseeko_r
>_fsetpos64_r
>_fsetpos_r
>_fstat64_r
>_fstat_r
>_ftell_r
>_ftello64_r
>_ftello_r
>_getenv_r
>_getpid_r
>_gettimeofday_r
>_iconv_close_r
>_iconv_open_r
>_iconv_r
>_iprintf_r
>_kill_r
>_ldtoa_r
>_link_r
>_lseek64_r
>_lseek_r
>_mallinfo_r
>_malloc_r
>_malloc_stats_r
>_malloc_trim_r
>_malloc_usable_size_r
>_mallopt_r
>_mblen_r
>_memalign_r
>_open64_r
>_open_r
>_pread_r
>_printf_r
>_pvalloc_r
>_pwrite_r
>_read_r
>_realloc_r
>_remove_r
>_rewind_r
>_sbrk_r
>_scanf_r
>_simdldtoa_r
>_sscanf_r
>_stat64_r
>_stat_r
>_strtoll_r
>_strtoull_r
>_times_r
>_tzset_r
>_unlink_r
>_valloc_r
>_wait_r
>_write_r
>----
>
>_remove_r and _stat64_r only occur in winsup/cygwin/syscalls.cc.
>_fstat_r, _getpid_r and _stat_r are in winsup/cygwin/syscalls.cc
>and newlib/libc.
>The others are only in newlib/libc.
>
>Is this the info you wanted?

Not really.  The above list includes at least one function that are
already exported by the DLL.

We also do not want to export _r functions which are unique only to
newlib.  For instance, I suspect that _mallopt_r is probably not
something that we want to export since no other UNIX has it.

This is not something that will be solved by grep.  It actually
involves some research.

cgf

--
Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple
Problem reports:       http://cygwin.com/problems.html
Documentation:         http://cygwin.com/docs.html
FAQ:                   http://cygwin.com/faq/


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]