mirror of
https://github.com/git/git
synced 2024-09-13 21:34:42 +00:00
207534e423
Rename platform-specific listener thread related variables and data types as we prepare to add another backend thread type. [] `struct fsmonitor_daemon_backend_data` becomes `struct fsm_listen_data` [] `state->backend_data` becomes `state->listen_data` [] `state->error_code` becomes `state->listen_error_code` Signed-off-by: Jeff Hostetler <jeffhost@microsoft.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
50 lines
1.5 KiB
C
50 lines
1.5 KiB
C
#ifndef FSM_LISTEN_H
|
|
#define FSM_LISTEN_H
|
|
|
|
/* This needs to be implemented by each backend */
|
|
|
|
#ifdef HAVE_FSMONITOR_DAEMON_BACKEND
|
|
|
|
struct fsmonitor_daemon_state;
|
|
|
|
/*
|
|
* Initialize platform-specific data for the fsmonitor listener thread.
|
|
* This will be called from the main thread PRIOR to staring the
|
|
* fsmonitor_fs_listener thread.
|
|
*
|
|
* Returns 0 if successful.
|
|
* Returns -1 otherwise.
|
|
*/
|
|
int fsm_listen__ctor(struct fsmonitor_daemon_state *state);
|
|
|
|
/*
|
|
* Cleanup platform-specific data for the fsmonitor listener thread.
|
|
* This will be called from the main thread AFTER joining the listener.
|
|
*/
|
|
void fsm_listen__dtor(struct fsmonitor_daemon_state *state);
|
|
|
|
/*
|
|
* The main body of the platform-specific event loop to watch for
|
|
* filesystem events. This will run in the fsmonitor_fs_listen thread.
|
|
*
|
|
* It should call `ipc_server_stop_async()` if the listener thread
|
|
* prematurely terminates (because of a filesystem error or if it
|
|
* detects that the .git directory has been deleted). (It should NOT
|
|
* do so if the listener thread receives a normal shutdown signal from
|
|
* the IPC layer.)
|
|
*
|
|
* It should set `state->listen_error_code` to -1 if the daemon should exit
|
|
* with an error.
|
|
*/
|
|
void fsm_listen__loop(struct fsmonitor_daemon_state *state);
|
|
|
|
/*
|
|
* Gently request that the fsmonitor listener thread shutdown.
|
|
* It does not wait for it to stop. The caller should do a JOIN
|
|
* to wait for it.
|
|
*/
|
|
void fsm_listen__stop_async(struct fsmonitor_daemon_state *state);
|
|
|
|
#endif /* HAVE_FSMONITOR_DAEMON_BACKEND */
|
|
#endif /* FSM_LISTEN_H */
|