diff --git a/doc/lua-api/index.rst b/doc/lua-api/index.rst index 1bb49978d..ee30b73a2 100644 --- a/doc/lua-api/index.rst +++ b/doc/lua-api/index.rst @@ -942,12 +942,16 @@ Core class .. code-block:: lua - function(event, event_data, sub) + function(event, event_data, sub, when) .. * **event** (*string*): the event type (one of the **event_types** you specified when subscribing) * **event_data**: specific to each event family (For **SERVER** family, a :ref:`server_event_class` object) * **sub**: class to manage the subscription from within the event (a :ref:`event_sub_class` object) + * **when**: timestamp corresponding to the date when the event was generated. + It is an integer representing the number of seconds elapsed since Epoch. + It may be provided as optional argument to `os.date()` lua function to + convert it to a string according to a given format string. .. Warning:: The callback function will only be scheduled on the very same thread that diff --git a/src/hlua.c b/src/hlua.c index a20ab03fa..5c29bc5ac 100644 --- a/src/hlua.c +++ b/src/hlua.c @@ -9087,6 +9087,10 @@ __LJMP static void hlua_event_hdl_cb_push_args(struct hlua_event_sub *hlua_sub, /* sub mgmt */ hlua->nargs += 1; hlua_fcn_new_event_sub(hlua->T, hlua_sub->sub); + + /* when? */ + hlua->nargs += 1; + lua_pushinteger(hlua->T, e->when.tv_sec); } /* events runner: if there's an ongoing hlua event handling process, finish it