|
@@ -329,9 +329,10 @@ def install_rdb_handler(envvar='CELERY_RDBSIG',
|
|
|
def rdb_handler(*args):
|
|
|
"""Signal handler setting a rdb breakpoint at the current frame."""
|
|
|
with in_sighandler():
|
|
|
- _, frame = args
|
|
|
- from celery.contrib import rdb
|
|
|
- rdb.set_trace(frame)
|
|
|
+ from celery.contrib.rdb import set_trace, _frame
|
|
|
+ # gevent does not pass standard signal handler args
|
|
|
+ frame = args[1] if args else _frame().f_back
|
|
|
+ set_trace(frame)
|
|
|
if os.environ.get(envvar):
|
|
|
platforms.signals[sig] = rdb_handler
|
|
|
|