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 617702 - gjs_js_set_current_message fails when re-entered
gjs_js_set_current_message fails when re-entered
Status: RESOLVED FIXED
Product: gjs
Classification: Bindings
Component: general
unspecified
Other Linux
: Normal normal
: ---
Assigned To: gjs-maint
gjs-maint
Depends on:
Blocks:
 
 
Reported: 2010-05-04 21:39 UTC by Johan Bilien
Modified: 2010-05-04 22:17 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
dbus: Replace the set_current_message with push/pop (6.47 KB, patch)
2010-05-04 22:04 UTC, Johan Bilien
committed Details | Review

Description Johan Bilien 2010-05-04 21:39:35 UTC
we have a crash where:

. we receive a dbus signal
. gjs_js_set_current_message is called with that message
. the JS callback runs a recursive GMainLoop
. in that loop, the next dbus message is processed
. gjs_js_set_current_message is called with the new message and aborts.
Comment 1 Colin Walters 2010-05-04 21:45:07 UTC
I hadn't considered the recursive mainloop case.  It makes sense to have it be a stack, then.
Comment 2 Johan Bilien 2010-05-04 22:04:32 UTC
Created attachment 160301 [details] [review]
dbus: Replace the set_current_message with push/pop

to avoid re-entrency issues.
Comment 3 Colin Walters 2010-05-04 22:13:20 UTC
Review of attachment 160301 [details] [review]:

Looks fine to me.