X-Git-Url: http://git.madism.org/?p=apps%2Fmadmutt.git;a=blobdiff_plain;f=main.c;h=74f95beab2abf13132f40c701a87412cc66071d0;hp=017e9b8a90ac99c412577cc526f0398814f5a777;hb=f8d1899d44b259a0920a52bd7290f15e39fd0d47;hpb=ec42b5f9dbca7a552524c138f6764671612fe385 diff --git a/main.c b/main.c index 017e9b8..74f95be 100644 --- a/main.c +++ b/main.c @@ -18,9 +18,11 @@ #include #include +#include #include #include +#include #include #include #include @@ -56,6 +58,8 @@ extern int optind; #include #include +#include + void mutt_exit(int code) { mutt_endwin(NULL); @@ -129,16 +133,6 @@ static void show_version (void) puts (_("Compile Options:")); puts ( -#ifdef USE_FCNTL - " +USE_FCNTL" -#else - " -USE_FCNTL" -#endif -#ifdef USE_FLOCK - " +USE_FLOCK" -#else - " -USE_FLOCK" -#endif #ifdef USE_HCACHE " +USE_HCACHE" #else @@ -182,6 +176,14 @@ static void mutt_nocurses_error (const char *fmt, ...) fputc('\n', stderr); } +static void *evtloop(void *data) +{ + for (;;) { + el_dispatch(100); + pthread_testcancel(); + } +} + int main (int argc, char **argv) { char folder[_POSIX_PATH_MAX] = ""; @@ -196,6 +198,7 @@ int main (int argc, char **argv) int version = 0; int i; int explicit_folder = 0; + pthread_t pt; /* initialize random number for tmp file creation */ srand48((unsigned int) time (NULL)); @@ -311,8 +314,10 @@ int main (int argc, char **argv) } /* set defaults and read init files */ + el_initialize(); mutt_init (flags & M_NOSYSRC, commands); string_list_wipe(&commands); + pthread_create(&pt, NULL, &evtloop, NULL); if (!option(OPTNOCURSES)) { ui_layout_init(); @@ -498,6 +503,7 @@ int main (int argc, char **argv) NULL)) || !explicit_folder) { mutt_index_menu (); + if (option (OPTXTERMSETTITLES)) printf("\033]2;%s\007", NONULL(XtermLeave)); if (Context) @@ -506,7 +512,10 @@ int main (int argc, char **argv) mutt_endwin (Errorbuf); } + pthread_cancel(pt); + pthread_join(pt, NULL); luaM_shutdown(); mutt_sasl_shutdown(); + el_shutdown(); exit (0); }