mirror of
https://github.com/samba-team/samba.git
synced 2024-12-22 13:34:15 +03:00
s4-python: fixed annoyance where control-C doesn't kill our python scripts
We want our scripts to die immediately when a user hits control-C. Otherwise we not only annoy the hell out of the user, we also risk db corruption as the control-C could get delivered as an exception which gets mis-interpreted (eg. as a missing db object). We use transactions for all our databases, so the right thing to do in all our command line tools is to die immediately.
This commit is contained in:
parent
a07eb08870
commit
e7d9f5eea5
@ -549,5 +549,15 @@ void initglue(void)
|
||||
PyModule_AddObject(m, "DS_DC_FUNCTION_2003", PyInt_FromLong(DS_DC_FUNCTION_2003));
|
||||
PyModule_AddObject(m, "DS_DC_FUNCTION_2008", PyInt_FromLong(DS_DC_FUNCTION_2008));
|
||||
PyModule_AddObject(m, "DS_DC_FUNCTION_2008_R2", PyInt_FromLong(DS_DC_FUNCTION_2008_R2));
|
||||
|
||||
/* one of the most annoying things about python scripts is
|
||||
that they don't die when you hit control-C. This fixes that
|
||||
sillyness. As we do all database operations using
|
||||
transactions, this is also safe. In fact, not dying
|
||||
immediately is unsafe as we could end up treating the
|
||||
control-C exception as a different error and try to modify
|
||||
as database incorrectly
|
||||
*/
|
||||
signal(SIGINT, SIG_DFL);
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user