After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 647529 - Calling Clock.Wait fails with EntryNotFoundException
Calling Clock.Wait fails with EntryNotFoundException
Status: RESOLVED FIXED
Product: GStreamer
Classification: Platform
Component: gst-sharp
0.10.28
Other Windows
: Normal normal
: 0.9.3
Assigned To: GStreamer Maintainers
GStreamer Maintainers
Depends on:
Blocks:
 
 
Reported: 2011-04-12 06:31 UTC by Sebastian
Modified: 2011-04-13 15:34 UTC
See Also:
GNOME target: ---
GNOME version: ---



Description Sebastian 2011-04-12 06:31:16 UTC
Unable to find an entry point named 'g_cond_timed_wait' in DLL 'libglib-2.0-0.dll'.

I'm using ossbuild version 0.10.7 LGPL Beta 4 so I first posted this bug there
and this is the response I got from david.g.hoyt

It's not exported in the official GTK+ builds either (or at least I couldn't find them): http://www.gtk.org/download-windows.html

I think that the C# bindings are wrong. From gthread.h, g_cond_timed_wait() is #define'd as:

# define g_cond_timed_wait(cond, mutex, abs_time)                       \
   G_THREAD_CF (cond_timed_wait, TRUE,   (cond, mutex, abs_time))

or

# define g_cond_timed_wait(cond, mutex, abs_time)                       \
   (g_thread_supported () ?                                            \
     ((gboolean(*)(GCond*, GMutex*, GTimeVal*, gulong, gchar*))        \
       g_thread_functions_for_glib_use.cond_timed_wait)                \
         (cond, mutex, abs_time, G_MUTEX_DEBUG_MAGIC, G_STRLOC) : TRUE)

Naturally that won't be exported. It appears that glib uses a virtual function table and populates it with a platform-specific or overridable (user-defined) function. There is a g_cond_timed_wait_win32_impl() but that's declared as static and therefore not exported either. The C# bindings need to be fixed to properly use the function table. You'll want to submit this bug upstream it seems -- it doesn't seem to be a problem with our build.
Comment 1 Sebastian Dröge (slomo) 2011-04-13 15:34:59 UTC
commit e67cf80368a41f8807fd054f671b393cae3bac69
Author: Sebastian Dröge <sebastian.droege@collabora.co.uk>
Date:   Wed Apr 13 17:33:05 2011 +0200

    The GMutex and GCond API uses macros to function tables instead of real function
    
    We need to add real functions for these macros. Fixes bug #647529.