You can subscribe to this list here.
2000 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
(65) |
---|---|---|---|---|---|---|---|---|---|---|---|---|
2001 |
Jan
(61) |
Feb
(111) |
Mar
(98) |
Apr
(33) |
May
(31) |
Jun
(64) |
Jul
(35) |
Aug
(50) |
Sep
(170) |
Oct
(89) |
Nov
(72) |
Dec
(214) |
2002 |
Jan
(74) |
Feb
(21) |
Mar
(5) |
Apr
(4) |
May
(61) |
Jun
(13) |
Jul
(3) |
Aug
(39) |
Sep
(14) |
Oct
(80) |
Nov
(22) |
Dec
(76) |
2003 |
Jan
(14) |
Feb
(59) |
Mar
(7) |
Apr
(5) |
May
|
Jun
(4) |
Jul
(6) |
Aug
(78) |
Sep
(68) |
Oct
(23) |
Nov
(25) |
Dec
(107) |
2004 |
Jan
(82) |
Feb
(75) |
Mar
(13) |
Apr
(9) |
May
(21) |
Jun
(2) |
Jul
(1) |
Aug
(52) |
Sep
(23) |
Oct
(15) |
Nov
(6) |
Dec
(60) |
2005 |
Jan
(125) |
Feb
(94) |
Mar
(32) |
Apr
(68) |
May
|
Jun
|
Jul
(11) |
Aug
(3) |
Sep
(15) |
Oct
(3) |
Nov
|
Dec
(58) |
2006 |
Jan
(46) |
Feb
(29) |
Mar
(1) |
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
(1) |
Nov
(9) |
Dec
(9) |
2007 |
Jan
(62) |
Feb
(60) |
Mar
|
Apr
|
May
|
Jun
(2) |
Jul
(6) |
Aug
(3) |
Sep
(4) |
Oct
(2) |
Nov
(4) |
Dec
(46) |
2008 |
Jan
(3) |
Feb
(2) |
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
(2) |
Sep
|
Oct
|
Nov
(10) |
Dec
(49) |
2009 |
Jan
(14) |
Feb
(12) |
Mar
(37) |
Apr
(8) |
May
|
Jun
|
Jul
|
Aug
(6) |
Sep
(25) |
Oct
(48) |
Nov
(7) |
Dec
(45) |
2010 |
Jan
(15) |
Feb
(14) |
Mar
(7) |
Apr
|
May
|
Jun
(1) |
Jul
(1) |
Aug
(1) |
Sep
|
Oct
(28) |
Nov
|
Dec
(44) |
2011 |
Jan
(22) |
Feb
|
Mar
|
Apr
(1) |
May
|
Jun
(1) |
Jul
|
Aug
|
Sep
(1) |
Oct
|
Nov
|
Dec
(70) |
2012 |
Jan
(6) |
Feb
|
Mar
|
Apr
|
May
(2) |
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
(128) |
2013 |
Jan
(8) |
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
(2) |
Nov
(2) |
Dec
(150) |
2014 |
Jan
(70) |
Feb
(44) |
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
From: Sebastian B. <sb...@us...> - 2013-12-24 09:26:40
|
Update of /cvsroot/simplemail/simplemail/gtk In directory sfp-cvs-1.v30.ch3.sourceforge.com:/tmp/cvs-serv463/gtk Modified Files: subthreads.c Log Message: Including gtk/gtk.h is no longer necessary. Index: subthreads.c =================================================================== RCS file: /cvsroot/simplemail/simplemail/gtk/subthreads.c,v retrieving revision 1.54 retrieving revision 1.55 diff -u -d -r1.54 -r1.55 --- subthreads.c 24 Dec 2013 09:26:08 -0000 1.54 +++ subthreads.c 24 Dec 2013 09:26:38 -0000 1.55 @@ -29,7 +29,6 @@ #include <sys/socket.h> #include <glib.h> -#include <gtk/gtk.h> #include "debug.h" #include "lists.h" |
From: Sebastian B. <sb...@us...> - 2013-12-24 09:26:10
|
Update of /cvsroot/simplemail/simplemail/gtk In directory sfp-cvs-1.v30.ch3.sourceforge.com:/tmp/cvs-serv420/gtk Modified Files: subthreads.c Log Message: Implemented thread_aborted(). Index: subthreads.c =================================================================== RCS file: /cvsroot/simplemail/simplemail/gtk/subthreads.c,v retrieving revision 1.53 retrieving revision 1.54 diff -u -d -r1.53 -r1.54 --- subthreads.c 24 Dec 2013 09:25:47 -0000 1.53 +++ subthreads.c 24 Dec 2013 09:26:08 -0000 1.54 @@ -55,9 +55,11 @@ { struct node node; GThread *thread; - GMainContext *context; GMainLoop *main_loop; + + GMutex *mutex; + int aborted; }; static struct thread_s main_thread; @@ -80,6 +82,8 @@ return 0; if (!(main_thread.main_loop = g_main_loop_new(main_thread.context, FALSE))) return 0; + if (!(main_thread.mutex = g_mutex_new())) + return 0; return 1; } @@ -110,6 +114,7 @@ } } + g_mutex_free(main_thread.mutex); g_main_loop_unref(main_thread.main_loop); g_main_context_unref(main_thread.context); @@ -154,6 +159,7 @@ t->thread = g_thread_self(); t->context = g_main_context_new(); t->main_loop = g_main_loop_new(t->context, FALSE); + t->mutex = g_mutex_new(); tad->entry(tad->eudata); @@ -161,6 +167,7 @@ node_remove(&t->node); g_mutex_unlock(thread_list_mutex); + g_mutex_free(t->mutex); g_main_loop_unref(t->main_loop); g_main_context_unref(t->context); return NULL; @@ -222,6 +229,9 @@ void thread_abort(thread_t thread) { + g_mutex_lock(thread->mutex); + thread->aborted = 1; + g_mutex_unlock(thread->mutex); g_main_context_invoke(thread->context, thread_abort_entry, thread); } @@ -616,7 +626,12 @@ int thread_aborted(void) { - return 0; + struct thread_s *t = thread_get(); + int aborted; + g_mutex_lock(t->mutex); + aborted = !!t->aborted; + g_mutex_unlock(t->mutex); + return aborted; } /***************************************************************************************/ |
From: Sebastian B. <sb...@us...> - 2013-12-24 09:25:49
|
Update of /cvsroot/simplemail/simplemail/gtk In directory sfp-cvs-1.v30.ch3.sourceforge.com:/tmp/cvs-serv304/gtk Modified Files: subthreads.c Log Message: Removed obsolete gtk-based ipc communication. Index: subthreads.c =================================================================== RCS file: /cvsroot/simplemail/simplemail/gtk/subthreads.c,v retrieving revision 1.52 retrieving revision 1.53 diff -u -d -r1.52 -r1.53 --- subthreads.c 24 Dec 2013 09:25:29 -0000 1.52 +++ subthreads.c 24 Dec 2013 09:25:47 -0000 1.53 @@ -51,19 +51,6 @@ /** Mutex for accessing thread list */ static GMutex *thread_list_mutex; -struct ipc_message -{ - int async; - int string; - int rc; - void *function; - int argcount; - void *arg1; - void *arg2; - void *arg3; - void *arg4; -}; - struct thread_s { struct node node; @@ -142,41 +129,6 @@ return 1; } -static void thread_input(gpointer data, gint source, GdkInputCondition condition) -{ - int len; - struct ipc_message msg; - - len = read(source,&msg,sizeof(msg)); - - if (len == sizeof(msg)) - { - int rc = 0; - - switch (msg.argcount) - { - case 0: rc = ((int (*)(void))msg.function)();break; - case 1: rc = ((int (*)(void*))msg.function)(msg.arg1);break; - case 2: rc = ((int (*)(void*,void*))msg.function)(msg.arg1,msg.arg2);break; - case 3: rc = ((int (*)(void*,void*,void*))msg.function)(msg.arg1,msg.arg2,msg.arg3);break; - case 4: rc = ((int (*)(void*,void*,void*,void*))msg.function)(msg.arg1,msg.arg2,msg.arg3,msg.arg4);break; - } - - if (msg.async) - { - if (msg.string) - { - free(msg.arg1); - } - } else - { - /* synchron call, deliver return code */ - msg.rc = rc; - write(sockets[0],&msg,sizeof(msg)); - } - } -} - /***************************************************************************************/ /** Structure that is passed to newly created threads via thread_add() */ @@ -255,20 +207,8 @@ int thread_start(int (*entry)(void*), void *udata) { - if (!input_added) - { - gtk_input_add_full(sockets[0],GDK_INPUT_READ,thread_input, NULL, NULL, NULL); - input_added = 1; - } - - if ((g_thread_create((GThreadFunc)entry,udata,TRUE,NULL))) - { - g_mutex_lock(thread_mutex); - g_cond_wait(thread_cond,thread_mutex); - g_mutex_unlock(thread_mutex); - return 1; - } - return 0; + fprintf(stderr, "%s() not implemented yet!\n", __PRETTY_FUNCTION__); + exit(1); } /***************************************************************************************/ |
From: Sebastian B. <sb...@us...> - 2013-12-24 09:25:31
|
Update of /cvsroot/simplemail/simplemail/gtk In directory sfp-cvs-1.v30.ch3.sourceforge.com:/tmp/cvs-serv32748/gtk Modified Files: subthreads.c Log Message: Document thread_call_function_sync_v() and return 1 to indicate success. Index: subthreads.c =================================================================== RCS file: /cvsroot/simplemail/simplemail/gtk/subthreads.c,v retrieving revision 1.51 retrieving revision 1.52 diff -u -d -r1.51 -r1.52 --- subthreads.c 24 Dec 2013 09:25:09 -0000 1.51 +++ subthreads.c 24 Dec 2013 09:25:29 -0000 1.52 @@ -332,11 +332,23 @@ return 0; } +/** + * Call a function in the context of the thread. + * + * @param thread + * @param rc pointer where the return value of the function is stored. + * @param function + * @param argcount + * @param argptr + * @return whether the function was invoked or not. + */ static int thread_call_function_sync_v(thread_t thread, uintptr_t *rc, void *function, int argcount, va_list argptr) { struct thread_call_function_sync_data data; int i; + SM_ENTER; + assert(argcount < THREAD_CALL_FUNCTION_SYNC_DATA_NUM_ARGS); data.function = (int (*)(void))function; @@ -351,7 +363,8 @@ if (rc) *rc = data.rc; - return 0; + SM_RETURN(1,"%d"); + return 1; } int thread_call_function_sync(thread_t thread, void *function, int argcount, ...) |
From: Sebastian B. <sb...@us...> - 2013-12-24 09:25:12
|
Update of /cvsroot/simplemail/simplemail/gtk In directory sfp-cvs-1.v30.ch3.sourceforge.com:/tmp/cvs-serv32712/gtk Modified Files: subthreads.c Log Message: Added FIXME. Index: subthreads.c =================================================================== RCS file: /cvsroot/simplemail/simplemail/gtk/subthreads.c,v retrieving revision 1.50 retrieving revision 1.51 diff -u -d -r1.50 -r1.51 --- subthreads.c 24 Dec 2013 09:24:51 -0000 1.50 +++ subthreads.c 24 Dec 2013 09:25:09 -0000 1.51 @@ -114,6 +114,7 @@ gt = t->thread; thread_abort(t); g_mutex_unlock(thread_list_mutex); + /* FIXME: This could lead to a dead-lock situation if the thread was about to perform a synchronous call */ g_thread_join(gt); } else { |
From: Sebastian B. <sb...@us...> - 2013-12-24 09:24:53
|
Update of /cvsroot/simplemail/simplemail/gtk In directory sfp-cvs-1.v30.ch3.sourceforge.com:/tmp/cvs-serv32666/gtk Modified Files: subthreads.c Log Message: Implemented proper failure support for thread_add(). Also lock the mutex before the thread is created. Index: subthreads.c =================================================================== RCS file: /cvsroot/simplemail/simplemail/gtk/subthreads.c,v retrieving revision 1.49 retrieving revision 1.50 diff -u -d -r1.49 -r1.50 --- subthreads.c 24 Dec 2013 09:24:33 -0000 1.49 +++ subthreads.c 24 Dec 2013 09:24:51 -0000 1.50 @@ -229,17 +229,25 @@ list_insert_tail(&thread_list, &t->node); g_mutex_unlock(thread_list_mutex); - if ((g_thread_create(thread_add_entry,&tad,TRUE,NULL))) + g_mutex_lock(thread_mutex); + if (!g_thread_create(thread_add_entry,&tad,TRUE,NULL)) { - g_mutex_lock(thread_mutex); - while (!thread_parent_can_continue) - g_cond_wait(thread_cond,thread_mutex); - thread_parent_can_continue = 0; - g_mutex_unlock(thread_mutex); - return t; + g_mutex_lock(thread_list_mutex); + node_remove(&t->node); + g_mutex_unlock(thread_list_mutex); + free(t); + t = NULL; + goto bailout; } - /* TODO: Remove thread */ - return NULL; + + /* Wait until we are signaled to continue */ + while (!thread_parent_can_continue) + g_cond_wait(thread_cond,thread_mutex); + thread_parent_can_continue = 0; +bailout: + g_mutex_unlock(thread_mutex); + + return t; } /***************************************************************************************/ |
From: Sebastian B. <sb...@us...> - 2013-12-24 09:24:36
|
Update of /cvsroot/simplemail/simplemail/gtk In directory sfp-cvs-1.v30.ch3.sourceforge.com:/tmp/cvs-serv32644/gtk Modified Files: subthreads.c Log Message: Made the waiting for the signal a loop like it is recommended. Index: subthreads.c =================================================================== RCS file: /cvsroot/simplemail/simplemail/gtk/subthreads.c,v retrieving revision 1.48 retrieving revision 1.49 diff -u -d -r1.48 -r1.49 --- subthreads.c 24 Dec 2013 09:24:16 -0000 1.48 +++ subthreads.c 24 Dec 2013 09:24:33 -0000 1.49 @@ -38,6 +38,7 @@ static GCond *thread_cond; static GMutex *thread_mutex; +static int thread_parent_can_continue; static int input_added; @@ -134,6 +135,7 @@ int thread_parent_task_can_contiue(void) { g_mutex_lock(thread_mutex); + thread_parent_can_continue = 1; g_cond_signal(thread_cond); g_mutex_unlock(thread_mutex); return 1; @@ -230,7 +232,9 @@ if ((g_thread_create(thread_add_entry,&tad,TRUE,NULL))) { g_mutex_lock(thread_mutex); - g_cond_wait(thread_cond,thread_mutex); + while (!thread_parent_can_continue) + g_cond_wait(thread_cond,thread_mutex); + thread_parent_can_continue = 0; g_mutex_unlock(thread_mutex); return t; } |
From: Sebastian B. <sb...@us...> - 2013-12-24 09:24:18
|
Update of /cvsroot/simplemail/simplemail/gtk In directory sfp-cvs-1.v30.ch3.sourceforge.com:/tmp/cvs-serv32622/gtk Modified Files: subthreads.c Log Message: Assign the thread pointer in the thread and not outside the thread to avoid races. Index: subthreads.c =================================================================== RCS file: /cvsroot/simplemail/simplemail/gtk/subthreads.c,v retrieving revision 1.47 retrieving revision 1.48 diff -u -d -r1.47 -r1.48 --- subthreads.c 24 Dec 2013 09:23:58 -0000 1.47 +++ subthreads.c 24 Dec 2013 09:24:16 -0000 1.48 @@ -196,6 +196,7 @@ struct thread_s *t = tad->thread; /* TODO: Catch errors and inform parent task */ + t->thread = g_thread_self(); t->context = g_main_context_new(); t->main_loop = g_main_loop_new(t->context, FALSE); @@ -226,7 +227,7 @@ list_insert_tail(&thread_list, &t->node); g_mutex_unlock(thread_list_mutex); - if ((t->thread = g_thread_create(thread_add_entry,&tad,TRUE,NULL))) + if ((g_thread_create(thread_add_entry,&tad,TRUE,NULL))) { g_mutex_lock(thread_mutex); g_cond_wait(thread_cond,thread_mutex); |
From: Sebastian B. <sb...@us...> - 2013-12-24 09:24:00
|
Update of /cvsroot/simplemail/simplemail/gtk In directory sfp-cvs-1.v30.ch3.sourceforge.com:/tmp/cvs-serv32477/gtk Modified Files: subthreads.c Log Message: Added SM_ENTER/SM_LEAVE pair for cleanup Index: subthreads.c =================================================================== RCS file: /cvsroot/simplemail/simplemail/gtk/subthreads.c,v retrieving revision 1.46 retrieving revision 1.47 diff -u -d -r1.46 -r1.47 --- subthreads.c 24 Dec 2013 09:17:23 -0000 1.46 +++ subthreads.c 24 Dec 2013 09:23:58 -0000 1.47 @@ -31,6 +31,7 @@ #include <glib.h> #include <gtk/gtk.h> +#include "debug.h" #include "lists.h" #include "support_indep.h" #include "subthreads.h" @@ -101,6 +102,8 @@ { struct thread_s *t; + SM_ENTER; + while (1) { g_mutex_lock(thread_list_mutex); @@ -123,6 +126,7 @@ g_mutex_free(thread_list_mutex); + SM_LEAVE; } /***************************************************************************************/ |
From: Sebastian B. <sb...@us...> - 2013-12-24 09:23:41
|
Update of /cvsroot/simplemail/simplemail/tests In directory sfp-cvs-1.v30.ch3.sourceforge.com:/tmp/cvs-serv32453/tests Modified Files: makefile Log Message: Renamed dovecot-conf to dovecot-default-conf and dovecot to dovecot-conf. Index: makefile =================================================================== RCS file: /cvsroot/simplemail/simplemail/tests/makefile,v retrieving revision 1.40 retrieving revision 1.41 diff -u -d -r1.40 -r1.41 --- makefile 24 Dec 2013 09:23:20 -0000 1.40 +++ makefile 24 Dec 2013 09:23:38 -0000 1.41 @@ -78,8 +78,8 @@ .PHONY: dovecot-bin dovecot-bin: $(DOVECOT_DIR)-root -.PHONY: dovecot -dovecot: dovecot-bin +.PHONY: dovecot-conf +dovecot-conf: dovecot-bin mkdir -p $(DOVECOT_DIR)-root/home/test rm -Rf $(DOVECOT_DIR)-root/etc/dovecot cp -R dovecot-conf -Rf $(DOVECOT_DIR)-root/etc/dovecot @@ -95,7 +95,8 @@ echo '}' >>$(DOVECOT_DIR)-root/etc/dovecot/conf.d/00-passwd.conf echo 'test:{plain}test::::$(DOVECOT_ABSDIR)-root/home/test::userdb_mail=maildir:~/Maildir' >$(DOVECOT_DIR)-root/etc/dovecot/passwd -dovecot-conf: dovecot-bin +.PHONY: dovecot-default-conf +dovecot-default-conf: dovecot-bin cp -R $(DOVECOT_DIR)-root/share/doc/dovecot/example-config $(DOVECOT_DIR)-root/etc/dovecot .PHONY: dovecot-start @@ -107,7 +108,7 @@ $(DOVECOT) stop .PHONY: imap-testsuite -imap-testsuite: dovecot imap2_unittest +imap-testsuite: dovecot-conf imap2_unittest -$(DOVECOT) stop $(DOVECOT) sleep 2 @@ -119,7 +120,7 @@ # run template define run.tmpl -run-$(1): $(1) $(if $(findstring imap,$(1)), dovecot) +run-$(1): $(1) $(if $(findstring imap,$(1)), dovecot-conf) $(if $(findstring imap,$(1)), -$(DOVECOT) stop) $(if $(findstring imap,$(1)), $(DOVECOT)) ./$$< @@ -133,7 +134,7 @@ # memleaks template define memleak.tmpl -memleaks-$(1): $(1) $(if $(findstring imap,$(1)), dovecot) +memleaks-$(1): $(1) $(if $(findstring imap,$(1)), dovecot-conf) $(if $(findstring imap,$(1)), -$(DOVECOT) stop) $(if $(findstring imap,$(1)), $(DOVECOT)) ifdef USE_VALGRIND_XML @@ -155,7 +156,7 @@ # helgrind template define helgrind.tmpl -helgrind-$(1): $(1) $(if $(findstring imap,$(1)), dovecot) +helgrind-$(1): $(1) $(if $(findstring imap,$(1)), dovecot-conf) $(if $(findstring imap,$(1)), -$(DOVECOT) stop) $(if $(findstring imap,$(1)), $(DOVECOT)) ifdef USE_VALGRIND_XML |
From: Sebastian B. <sb...@us...> - 2013-12-24 09:23:23
|
Update of /cvsroot/simplemail/simplemail/tests In directory sfp-cvs-1.v30.ch3.sourceforge.com:/tmp/cvs-serv32430/tests Modified Files: makefile Log Message: Added dovecot-start and dovecot-stop targets. Index: makefile =================================================================== RCS file: /cvsroot/simplemail/simplemail/tests/makefile,v retrieving revision 1.39 retrieving revision 1.40 diff -u -d -r1.39 -r1.40 --- makefile 24 Dec 2013 09:15:51 -0000 1.39 +++ makefile 24 Dec 2013 09:23:20 -0000 1.40 @@ -98,6 +98,14 @@ dovecot-conf: dovecot-bin cp -R $(DOVECOT_DIR)-root/share/doc/dovecot/example-config $(DOVECOT_DIR)-root/etc/dovecot +.PHONY: dovecot-start +dovecot-start: dovecot-conf + $(DOVECOT) + +.PHONY: dovecot-stop +dovecot-stop: dovecot-conf + $(DOVECOT) stop + .PHONY: imap-testsuite imap-testsuite: dovecot imap2_unittest -$(DOVECOT) stop |
From: Sebastian B. <sb...@us...> - 2013-12-24 09:23:06
|
Update of /cvsroot/simplemail/simplemail/amiga-mui In directory sfp-cvs-1.v30.ch3.sourceforge.com:/tmp/cvs-serv32404/amiga-mui Modified Files: startup-aros.c Log Message: Don't declare the global SysBase. Index: startup-aros.c =================================================================== RCS file: /cvsroot/simplemail/simplemail/amiga-mui/startup-aros.c,v retrieving revision 1.4 retrieving revision 1.5 diff -u -d -r1.4 -r1.5 --- startup-aros.c 20 Feb 2010 15:21:16 -0000 1.4 +++ startup-aros.c 24 Dec 2013 09:23:03 -0000 1.5 @@ -26,7 +26,6 @@ #include "simplemail.h" -struct ExecBase *SysBase; struct DosLibrary *DOSBase; struct Library *UtilityBase; struct Library *IntuitionBase; |
From: Sebastian B. <sb...@us...> - 2013-12-24 09:22:41
|
Update of /cvsroot/simplemail/simplemail In directory sfp-cvs-1.v30.ch3.sourceforge.com:/tmp/cvs-serv32350 Modified Files: mmakefile.src Log Message: Removed arosc. Index: mmakefile.src =================================================================== RCS file: /cvsroot/simplemail/simplemail/mmakefile.src,v retrieving revision 1.13 retrieving revision 1.14 diff -u -d -r1.13 -r1.14 --- mmakefile.src 24 Dec 2013 09:22:08 -0000 1.13 +++ mmakefile.src 24 Dec 2013 09:22:39 -0000 1.14 @@ -118,7 +118,7 @@ USER_CFLAGS := -DHAVE_OPENURL -DNO_SSL -D__USE_XOPEN2K8 -DSIMPLEMAIL_DATE=\"`date +%d.%m.%Y`\" %build_prog mmake=contrib-simplemail-bin progname=$(EXE) files=$(FILES) \ - targetdir=$(EXEDIR) uselibs="amiga arosc arossupport mui expat" + targetdir=$(EXEDIR) uselibs="amiga arossupport mui expat" # ############################################################################ |
From: Sebastian B. <sb...@us...> - 2013-12-24 09:22:10
|
Update of /cvsroot/simplemail/simplemail In directory sfp-cvs-1.v30.ch3.sourceforge.com:/tmp/cvs-serv32319 Modified Files: mmakefile.src Log Message: Added mailtext as dependency. Index: mmakefile.src =================================================================== RCS file: /cvsroot/simplemail/simplemail/mmakefile.src,v retrieving revision 1.12 retrieving revision 1.13 diff -u -d -r1.12 -r1.13 --- mmakefile.src 24 Dec 2013 09:21:32 -0000 1.12 +++ mmakefile.src 24 Dec 2013 09:22:08 -0000 1.13 @@ -4,7 +4,7 @@ #MM- contrib-simplemail : contrib-simplemail-bin -#MM contrib-simplemail-bin : includes linklibs linklibs-expat contrib-zune-classes-thebar \ +#MM contrib-simplemail-bin : includes linklibs linklibs-expat contrib-zune-classes-mailtext contrib-zune-classes-thebar \ #MM contrib-simplemail-arexx contrib-simplemail-charsets contrib-simplemail-images \ #MM contrib-simplemail-files contrib-simplemail-locale |
From: Sebastian B. <sb...@us...> - 2013-12-24 09:21:34
|
Update of /cvsroot/simplemail/simplemail In directory sfp-cvs-1.v30.ch3.sourceforge.com:/tmp/cvs-serv32195 Modified Files: mmakefile.src Log Message: Added a quick target for quickly building SimpleMail. Index: mmakefile.src =================================================================== RCS file: /cvsroot/simplemail/simplemail/mmakefile.src,v retrieving revision 1.11 retrieving revision 1.12 diff -u -d -r1.11 -r1.12 --- mmakefile.src 24 Dec 2013 09:20:38 -0000 1.11 +++ mmakefile.src 24 Dec 2013 09:21:32 -0000 1.12 @@ -8,6 +8,9 @@ #MM contrib-simplemail-arexx contrib-simplemail-charsets contrib-simplemail-images \ #MM contrib-simplemail-files contrib-simplemail-locale +#MM +contrib-simplemail-bin-quick : contrib-simplemail-bin + AMIGAMUI := \ vsnprintf \ utf8stringclass \ |
From: Sebastian B. <sb...@us...> - 2013-12-24 09:20:40
|
Update of /cvsroot/simplemail/simplemail In directory sfp-cvs-1.v30.ch3.sourceforge.com:/tmp/cvs-serv32151 Modified Files: mmakefile.src Log Message: Define __USE_XOPEN2K8 Index: mmakefile.src =================================================================== RCS file: /cvsroot/simplemail/simplemail/mmakefile.src,v retrieving revision 1.10 retrieving revision 1.11 diff -u -d -r1.10 -r1.11 --- mmakefile.src 24 Dec 2013 09:20:23 -0000 1.10 +++ mmakefile.src 24 Dec 2013 09:20:38 -0000 1.11 @@ -112,7 +112,7 @@ USER_INCLUDES := -I$(SRCDIR)/$(CURDIR)/indep-include -I$(SRCDIR)/$(CURDIR)/amiga-mui -I$(SRCDIR)/$(CURDIR) -USER_CFLAGS := -DHAVE_OPENURL -DNO_SSL -DSIMPLEMAIL_DATE=\"`date +%d.%m.%Y`\" +USER_CFLAGS := -DHAVE_OPENURL -DNO_SSL -D__USE_XOPEN2K8 -DSIMPLEMAIL_DATE=\"`date +%d.%m.%Y`\" %build_prog mmake=contrib-simplemail-bin progname=$(EXE) files=$(FILES) \ targetdir=$(EXEDIR) uselibs="amiga arosc arossupport mui expat" |
From: Sebastian B. <sb...@us...> - 2013-12-24 09:20:25
|
Update of /cvsroot/simplemail/simplemail In directory sfp-cvs-1.v30.ch3.sourceforge.com:/tmp/cvs-serv32123 Modified Files: mmakefile.src Log Message: Added new source files. Index: mmakefile.src =================================================================== RCS file: /cvsroot/simplemail/simplemail/mmakefile.src,v retrieving revision 1.9 retrieving revision 1.10 diff -u -d -r1.9 -r1.10 --- mmakefile.src 3 Mar 2010 23:18:53 -0000 1.9 +++ mmakefile.src 24 Dec 2013 09:20:23 -0000 1.10 @@ -24,6 +24,7 @@ shutdownwnd \ searchwnd \ readwnd \ + progmonwnd \ popupmenuclass \ picturebuttonclass \ pgplistclass \ @@ -91,6 +92,7 @@ phrase \ pop3 \ print \ + progmon \ punycode \ signature \ simplemail \ |
From: Sebastian B. <sb...@us...> - 2013-12-24 09:20:10
|
Update of /cvsroot/simplemail/simplemail In directory sfp-cvs-1.v30.ch3.sourceforge.com:/tmp/cvs-serv32100 Modified Files: makefile.aos4 Log Message: Use the CROSS_COMPILE prefix for the target directories. Index: makefile.aos4 =================================================================== RCS file: /cvsroot/simplemail/simplemail/makefile.aos4,v retrieving revision 1.39 retrieving revision 1.40 diff -u -d -r1.39 -r1.40 --- makefile.aos4 24 Dec 2013 09:18:15 -0000 1.39 +++ makefile.aos4 24 Dec 2013 09:20:08 -0000 1.40 @@ -109,8 +109,8 @@ # ------------------------------------------------------------- -OBJSDIR=ppc-amigaos-objs -TESTOBJSDIR=ppc-amigaos-test-objs +OBJSDIR=$(CROSS_COMPILE)objs +TESTOBJSDIR=$(CROSS_COMPILE)test-objs OBJS = $(SRCS:%.c=$(OBJSDIR)/%.o) AOBJS = $(ASRCS:%.S=$(OBJSDIR)/%.o) |
From: Sebastian B. <sb...@us...> - 2013-12-24 09:18:17
|
Update of /cvsroot/simplemail/simplemail In directory sfp-cvs-1.v30.ch3.sourceforge.com:/tmp/cvs-serv31956 Modified Files: makefile.aos4 Log Message: The target directory for the objects is now a macro. Index: makefile.aos4 =================================================================== RCS file: /cvsroot/simplemail/simplemail/makefile.aos4,v retrieving revision 1.38 retrieving revision 1.39 diff -u -d -r1.38 -r1.39 --- makefile.aos4 7 Dec 2012 05:29:57 -0000 1.38 +++ makefile.aos4 24 Dec 2013 09:18:15 -0000 1.39 @@ -109,11 +109,14 @@ # ------------------------------------------------------------- -OBJS = $(SRCS:%.c=ppc-amigaos-objs/%.o) -AOBJS = $(ASRCS:%.S=ppc-amigaos-objs/%.o) +OBJSDIR=ppc-amigaos-objs +TESTOBJSDIR=ppc-amigaos-test-objs -TESTOBJS = $(SRCS:%.c=ppc-amigaos-test-objs/%.o) -TESTAOBJS = $(ASRCS:%.S=ppc-amigaos-test-objs/%.o) +OBJS = $(SRCS:%.c=$(OBJSDIR)/%.o) +AOBJS = $(ASRCS:%.S=$(OBJSDIR)/%.o) + +TESTOBJS = $(SRCS:%.c=$(TESTOBJSDIR)/%.o) +TESTAOBJS = $(ASRCS:%.S=$(TESTOBJSDIR)/%.o) all: envs dirs $(TARGET) @@ -148,28 +151,28 @@ .PHONY: dirs dirs: - -$(MKDIR) ppc-amigaos-objs ppc-amigaos-objs/amiga-mui ppc-amigaos-test-objs ppc-amigaos-test-objs/amiga-mui + -$(MKDIR) $(OBJSDIR) $(OBJSDIR)/amiga-mui $(TESTOBJSDIR) $(TESTOBJSDIR)/amiga-mui # Rules for building $(TARGET): $(OBJS) $(AOBJS) $(CC) $(LINK) -o $@.debug $(OBJS) $(AOBJS) $(LIBS) -Wl,--cref,-M,-Map=$@.map $(STRIP) --strip-all -o $@ $@.debug -ppc-amigaos-objs/%.o: %.S +$(OBJSDIR)/%.o: %.S $(CC) -Wa,-mregnames $(AFLAGS) -I$(SDK_INCLUDE) -c $< -o $@ -ppc-amigaos-objs/%.o: %.c +$(OBJSDIR)/%.o: %.c $(CC) $(CFLAGS) -c $< -o $@ -ppc-amigaos-test-objs/%.o: %.S +$(TESTOBJSDIR)/%.o: %.S $(CC) -Wa,-mregnames $(AFLAGS) -I$(SDK_INCLUDE) -c $< -o $@ -ppc-amigaos-test-objs/%.o: %.c +$(TESTOBJSDIR)/%.o: %.c $(CC) $(CFLAGS) -DCOMPILE_TEST -c $< -o $@ .PHONY: clean clean: - $(RM) $(TARGET) $(OBJS) ppc-amigaos-objs ppc-amigaos-test-objs + $(RM) $(TARGET) $(OBJS) $(OBJSDIR) $(TESTOBJSDIR) .PHONY: install install: $(TARGET) |
From: Sebastian B. <sb...@us...> - 2013-12-24 09:17:57
|
Update of /cvsroot/simplemail/simplemail In directory sfp-cvs-1.v30.ch3.sourceforge.com:/tmp/cvs-serv31780 Modified Files: folder.c Log Message: Return NULL explicitly. Index: folder.c =================================================================== RCS file: /cvsroot/simplemail/simplemail/folder.c,v retrieving revision 1.189 retrieving revision 1.190 diff -u -d -r1.189 -r1.190 --- folder.c 11 Dec 2013 18:50:29 -0000 1.189 +++ folder.c 24 Dec 2013 09:17:55 -0000 1.190 @@ -1872,6 +1872,7 @@ } } } + return NULL; } /****************************************************************** |
From: Sebastian B. <sb...@us...> - 2013-12-24 09:17:41
|
Update of /cvsroot/simplemail/simplemail In directory sfp-cvs-1.v30.ch3.sourceforge.com:/tmp/cvs-serv31756 Modified Files: imap.c Log Message: The imap connect request is now submitted asynchronously. As a consequence, the main task no longer stalls if a subsequent IMAP connection stalls. Index: imap.c =================================================================== RCS file: /cvsroot/simplemail/simplemail/imap.c,v retrieving revision 1.80 retrieving revision 1.81 diff -u -d -r1.80 -r1.81 --- imap.c 24 Dec 2013 09:16:22 -0000 1.80 +++ imap.c 24 Dec 2013 09:17:39 -0000 1.81 @@ -1507,8 +1507,9 @@ static struct connection *imap_connection; static int imap_socket_lib_open; static struct imap_server *imap_server; -static char *imap_folder; -static char *imap_local_path; +static char *imap_folder; /** The path of the folder on the imap server */ +static char *imap_local_path; /** The local path of the folder */ +static int imap_connecting; /**************************************************************************/ @@ -1975,42 +1976,66 @@ SM_LEAVE; } +/** + * Connect to the given imap server. Shall be invoked only in the context of the IMAP thread. + * + * @param server + * @param folder + * @param local_path + * @return + */ static int imap_thread_connect_to_server(struct imap_server *server, char *folder, char *local_path) { + static int connecting; + + int rc = 0; + SM_ENTER; + /* Ignore this request if we are already connecting. This can happen for instance, if a synchronous call + * to the parent task is issued. */ + if (connecting) + { + SM_DEBUGF(5, ("Ignoring connect to server request for %s\n", local_path)); + + if (server) imap_free(server); + free(folder); + free(local_path); + goto bailout; + } + + connecting = 1; + if (!imap_connection || imap_new_connection_needed(imap_server,server)) { if (imap_server) imap_free(imap_server); - if ((imap_server = imap_duplicate(server))) - { - int rc; + imap_server = server; - if (imap_folder) free(imap_folder); - imap_folder = mystrdup(folder); + free(imap_folder); + imap_folder = folder; - if (imap_local_path) free(imap_local_path); - imap_local_path = mystrdup(local_path); + free(imap_local_path); + imap_local_path = local_path; - rc = thread_push_function(imap_thread_really_connect_to_server, 0); - SM_RETURN(rc,"%d"); - return rc; - } - SM_RETURN(0,"%d"); - return 0; + imap_thread_really_connect_to_server(); + rc = 1; } else { - int rc; - if (imap_folder) free(imap_folder); - imap_folder = mystrdup(folder); + free(imap_folder); + imap_folder = folder; - if (imap_local_path) free(imap_local_path); - imap_local_path = mystrdup(local_path); + free(imap_local_path); + imap_local_path = local_path; - rc = thread_push_function(imap_thread_really_download_mails, 0); - SM_RETURN(rc,"%d"); - return rc; + imap_thread_really_download_mails(); + rc = 1; } + + connecting = 0; + +bailout: + SM_RETURN(rc,"%d"); + return rc; } /** @@ -2364,22 +2389,43 @@ void imap_thread_connect(struct folder *folder) { struct imap_server *server; + char *imap_folder; + char *imap_local_path; SM_ENTER; if (!(server = account_find_imap_server_by_folder(folder))) { SM_DEBUGF(5,("Server for folder %p (%s) not found\n",folder,folder->name)); - return; + goto bailout; } + if (!imap_start_thread()) { SM_DEBUGF(5,("Could not start IMAP thread\n")); - return; + goto bailout; } - thread_call_function_sync(imap_thread, imap_thread_connect_to_server, 4, server, folder->imap_path, folder->path, folder->imap_download); + if (!(server = imap_duplicate(server))) + { + SM_DEBUGF(5,("Could not duplicate imap server\n")); + goto bailout; + } + + if ((!(imap_folder = mystrdup(folder->imap_path))) && folder->imap_path != NULL && strlen(folder->imap_path)) + { + SM_DEBUGF(5,("Could not duplicate imap path\n")); + goto bailout; + } + + if (!(imap_local_path = mystrdup(folder->path))) + { + SM_DEBUGF(5,("Could not duplicate folder path\n")); + goto bailout; + } + thread_call_function_async(imap_thread, imap_thread_connect_to_server, 4, server, imap_folder, imap_local_path, folder->imap_download); +bailout: SM_LEAVE; } |
From: Sebastian B. <sb...@us...> - 2013-12-24 09:17:25
|
Update of /cvsroot/simplemail/simplemail/gtk In directory sfp-cvs-1.v30.ch3.sourceforge.com:/tmp/cvs-serv31732/gtk Modified Files: subthreads.c Log Message: Removed old non-nested loop variant. Index: subthreads.c =================================================================== RCS file: /cvsroot/simplemail/simplemail/gtk/subthreads.c,v retrieving revision 1.45 retrieving revision 1.46 diff -u -d -r1.45 -r1.46 --- subthreads.c 24 Dec 2013 09:17:08 -0000 1.45 +++ subthreads.c 24 Dec 2013 09:17:23 -0000 1.46 @@ -35,9 +35,6 @@ #include "support_indep.h" #include "subthreads.h" -/* Define to allow nested loops */ -/*#define ALLOW_NESTED_LOOPS*/ - static GCond *thread_cond; static GMutex *thread_mutex; @@ -290,12 +287,7 @@ uintptr_t rc; -#ifdef ALLOW_NESTED_LOOPS thread_t caller; -#else - GCond *sync_cond; - GMutex *sync_mutex; -#endif }; /* FIXME: Note that if the args are not passed in a register, but e.g., on the stack this doesn't need to @@ -317,13 +309,7 @@ case 6: rc = ((int (*)(void*,void*,void*,void*,void*,void*))data->function)(data->arg[0],data->arg[1],data->arg[2],data->arg[3],data->arg[4],data->arg[5]);break; } data->rc = rc; -#ifdef ALLOW_NESTED_LOOPS g_main_loop_quit(data->caller->main_loop); -#else - g_mutex_lock(data->sync_mutex); - g_cond_signal(data->sync_cond); - g_mutex_unlock(data->sync_mutex); -#endif return 0; } @@ -337,31 +323,14 @@ data.function = (int (*)(void))function; data.argcount = argcount; -#ifdef ALLOW_NESTED_LOOPS data.caller = thread_get(); -#else - data.sync_cond = g_cond_new(); - data.sync_mutex = g_mutex_new(); - assert(data.sync_cond); - assert(data.sync_mutex); -#endif for (i=0; i < argcount; i++) data.arg[i] = va_arg(argptr, void *); -#ifndef ALLOW_NESTED_LOOPS - g_mutex_lock(data.sync_mutex); -#endif g_main_context_invoke(thread->context, thread_call_function_sync_entry, &data); -#ifdef ALLOW_NESTED_LOOPS g_main_loop_run(data.caller->main_loop); -#else - g_cond_wait(data.sync_cond, data.sync_mutex); - g_mutex_unlock(data.sync_mutex); - g_cond_free(data.sync_cond); - g_mutex_free(data.sync_mutex); -#endif if (rc) *rc = data.rc; return 0; |
From: Sebastian B. <sb...@us...> - 2013-12-24 09:17:10
|
Update of /cvsroot/simplemail/simplemail/gtk In directory sfp-cvs-1.v30.ch3.sourceforge.com:/tmp/cvs-serv31700/gtk Modified Files: subthreads.c Log Message: Removed implementation of thread_call_parent_function_async(). Instead, complain that this function hasn't been implemented yet. Index: subthreads.c =================================================================== RCS file: /cvsroot/simplemail/simplemail/gtk/subthreads.c,v retrieving revision 1.44 retrieving revision 1.45 diff -u -d -r1.44 -r1.45 --- subthreads.c 24 Dec 2013 09:16:53 -0000 1.44 +++ subthreads.c 24 Dec 2013 09:17:08 -0000 1.45 @@ -608,22 +608,8 @@ int thread_call_parent_function_async(void *function, int argcount, ...) { - struct ipc_message msg; - va_list argptr; - - va_start(argptr,argcount); - memset(&msg,0,sizeof(msg)); - msg.async = 1; - msg.function = function; - msg.argcount = argcount; - if (argcount--) msg.arg1 = va_arg(argptr, void *); - if (argcount--) msg.arg2 = va_arg(argptr, void *); - if (argcount--) msg.arg3 = va_arg(argptr, void *); - if (argcount--) msg.arg4 = va_arg(argptr, void *); - write(sockets[1],&msg,sizeof(msg)); - va_end(argptr); - - return 0; + fprintf(stderr,"not implemented!"); + exit(1); } /***************************************************************************************/ |
From: Sebastian B. <sb...@us...> - 2013-12-24 09:16:55
|
Update of /cvsroot/simplemail/simplemail/gtk In directory sfp-cvs-1.v30.ch3.sourceforge.com:/tmp/cvs-serv31651/gtk Modified Files: subthreads.c Log Message: Added possibility to use nested loops when calling functions synchronous Index: subthreads.c =================================================================== RCS file: /cvsroot/simplemail/simplemail/gtk/subthreads.c,v retrieving revision 1.43 retrieving revision 1.44 diff -u -d -r1.43 -r1.44 --- subthreads.c 24 Dec 2013 09:16:38 -0000 1.43 +++ subthreads.c 24 Dec 2013 09:16:53 -0000 1.44 @@ -35,6 +35,9 @@ #include "support_indep.h" #include "subthreads.h" +/* Define to allow nested loops */ +/*#define ALLOW_NESTED_LOOPS*/ + static GCond *thread_cond; static GMutex *thread_mutex; @@ -285,10 +288,14 @@ int argcount; void *arg[THREAD_CALL_FUNCTION_SYNC_DATA_NUM_ARGS]; + uintptr_t rc; + +#ifdef ALLOW_NESTED_LOOPS + thread_t caller; +#else GCond *sync_cond; GMutex *sync_mutex; - - uintptr_t rc; +#endif }; /* FIXME: Note that if the args are not passed in a register, but e.g., on the stack this doesn't need to @@ -310,9 +317,13 @@ case 6: rc = ((int (*)(void*,void*,void*,void*,void*,void*))data->function)(data->arg[0],data->arg[1],data->arg[2],data->arg[3],data->arg[4],data->arg[5]);break; } data->rc = rc; +#ifdef ALLOW_NESTED_LOOPS + g_main_loop_quit(data->caller->main_loop); +#else g_mutex_lock(data->sync_mutex); g_cond_signal(data->sync_cond); g_mutex_unlock(data->sync_mutex); +#endif return 0; } @@ -326,24 +337,31 @@ data.function = (int (*)(void))function; data.argcount = argcount; +#ifdef ALLOW_NESTED_LOOPS + data.caller = thread_get(); +#else data.sync_cond = g_cond_new(); data.sync_mutex = g_mutex_new(); - assert(data.sync_cond); assert(data.sync_mutex); +#endif for (i=0; i < argcount; i++) data.arg[i] = va_arg(argptr, void *); +#ifndef ALLOW_NESTED_LOOPS g_mutex_lock(data.sync_mutex); - +#endif g_main_context_invoke(thread->context, thread_call_function_sync_entry, &data); - +#ifdef ALLOW_NESTED_LOOPS + g_main_loop_run(data.caller->main_loop); +#else g_cond_wait(data.sync_cond, data.sync_mutex); g_mutex_unlock(data.sync_mutex); g_cond_free(data.sync_cond); g_mutex_free(data.sync_mutex); +#endif if (rc) *rc = data.rc; return 0; |
From: Sebastian B. <sb...@us...> - 2013-12-24 09:16:40
|
Update of /cvsroot/simplemail/simplemail/gtk In directory sfp-cvs-1.v30.ch3.sourceforge.com:/tmp/cvs-serv31627/gtk Modified Files: subthreads.c Log Message: The mutexes and conds are not needed for the push functions. So don't instanciate them. Index: subthreads.c =================================================================== RCS file: /cvsroot/simplemail/simplemail/gtk/subthreads.c,v retrieving revision 1.42 retrieving revision 1.43 diff -u -d -r1.42 -r1.43 --- subthreads.c 24 Dec 2013 09:16:07 -0000 1.42 +++ subthreads.c 24 Dec 2013 09:16:38 -0000 1.43 @@ -519,11 +519,6 @@ data->function = (int (*)(void))function; data->argcount = argcount; - data->sync_cond = g_cond_new(); - data->sync_mutex = g_mutex_new(); - - assert(data->sync_cond); - assert(data->sync_mutex); for (i=0; i < argcount; i++) data->arg[i] = va_arg(argptr, void *); @@ -558,11 +553,6 @@ data->function = (int (*)(void))function; data->argcount = argcount; - data->sync_cond = g_cond_new(); - data->sync_mutex = g_mutex_new(); - - assert(data->sync_cond); - assert(data->sync_mutex); for (i=0; i < argcount; i++) data->arg[i] = va_arg(argptr, void *); |