summary |
shortlog |
log |
commit | commitdiff |
tree
raw |
patch |
inline | side by side (from parent 1:
d686542)
init glib threading when ldap is used
threading fixes for ldap
fixed a typo in de.po
+2001-10-13 [christoph] 0.6.3claws12
+
+ * README.claws
+ some more details on default to and
+ feature requests
+ * src/main.c
+ init glib threading when ldap is used
+ * src/syldap.c
+ threading fixes
+ * po/de.po
+ fixed a typo
+
2001-10-12 [paul] 0.6.3claws11
* src/prefs_common.[ch], src/rfc2015.c
2001-10-12 [paul] 0.6.3claws11
* src/prefs_common.[ch], src/rfc2015.c
You can also share or use shared mail folders. Right-click a folder and
select Property. Change the Folder chmod setting.
You can also share or use shared mail folders. Right-click a folder and
select Property. Change the Folder chmod setting.
-* default reply-to address for folders
+* default to address for folders
Most people filter mailing list mails to separate folders. Claws allows
Most people filter mailing list mails to separate folders. Claws allows
- you to associate a folder with a mailing list. Right-click a folder,
- select Property and change the Default To setting.
+ you to associate a folder with a mailing list or a person. Right-click a
+ folder, select Property and change the Default To setting. When you
+ compose a new mail, when this folder is selected the recepient address
+ will be set to this address.
(NOTE: this is also a shoot-yourself-in-the-foot-setting! If you want
to send a private mail, don't have a folder selected with this setting
(NOTE: this is also a shoot-yourself-in-the-foot-setting! If you want
to send a private mail, don't have a folder selected with this setting
that some developers may already thought about your feature, may
perhaps be implementing it - or the feature was already discussed
and rejected for whatever reason. You might want to go ahead and
that some developers may already thought about your feature, may
perhaps be implementing it - or the feature was already discussed
and rejected for whatever reason. You might want to go ahead and
-hack a patch for it. (That would be very cool!)
-
-
+hack a patch for it. (That would be very cool!) Another
+possibility is to use the Feature Request Tracker at the
+sourceforge project page.
MICRO_VERSION=3
INTERFACE_AGE=0
BINARY_AGE=0
MICRO_VERSION=3
INTERFACE_AGE=0
BINARY_AGE=0
VERSION=$MAJOR_VERSION.$MINOR_VERSION.$MICRO_VERSION$EXTRA_VERSION
dnl
VERSION=$MAJOR_VERSION.$MINOR_VERSION.$MICRO_VERSION$EXTRA_VERSION
dnl
if test "$ac_cv_enable_ldap" = yes; then
AC_MSG_RESULT(yes)
AC_CHECK_HEADERS(ldap.h lber.h pthread.h,
if test "$ac_cv_enable_ldap" = yes; then
AC_MSG_RESULT(yes)
AC_CHECK_HEADERS(ldap.h lber.h pthread.h,
- [ LIBS="$LIBS -lldap -llber -lpthread -lresolv"
+ [ LIBS="$LIBS -lldap -llber -lpthread -lresolv `glib-config --libs gthread`"
AC_DEFINE(USE_LDAP) ],
[ ac_cv_enable_ldap=no ])
AC_MSG_CHECKING([whether ldap is available])
AC_DEFINE(USE_LDAP) ],
[ ac_cv_enable_ldap=no ])
AC_MSG_CHECKING([whether ldap is available])
#: src/prefs.c:88
msgid "Finished reading configuration.\n"
#: src/prefs.c:88
msgid "Finished reading configuration.\n"
-msgstr "Einlesen der Konfuguration beendet.\n"
+msgstr "Einlesen der Konfiguration beendet.\n"
#: src/prefs.c:139 src/prefs.c:167 src/prefs.c:212 src/prefs_account.c:437
#: src/prefs_account.c:451 src/prefs_customheader.c:388
#: src/prefs.c:139 src/prefs.c:167 src/prefs.c:212 src/prefs_account.c:437
#: src/prefs_account.c:451 src/prefs_customheader.c:388
gtk_set_locale();
gtk_init(&argc, &argv);
gtk_set_locale();
gtk_init(&argc, &argv);
+#if USE_THREADS || USE_LDAP
g_thread_init(NULL);
if (!g_thread_supported())
g_error(_("g_thread is not supported by glib.\n"));
g_thread_init(NULL);
if (!g_thread_supported())
g_error(_("g_thread is not supported by glib.\n"));
/* ignore SIGPIPE signal for preventing sudden death of program */
signal(SIGPIPE, SIG_IGN);
/* ignore SIGPIPE signal for preventing sudden death of program */
signal(SIGPIPE, SIG_IGN);
#if USE_PSPELL
gtkpspell_finished(gtkpspellconfig);
#if USE_PSPELL
gtkpspell_finished(gtkpspellconfig);
#include "addritem.h"
#include "addrcache.h"
#include "syldap.h"
#include "addritem.h"
#include "addrcache.h"
#include "syldap.h"
/*
* Create new LDAP server interface object.
*/
SyldapServer *syldap_create() {
SyldapServer *ldapServer;
/*
* Create new LDAP server interface object.
*/
SyldapServer *syldap_create() {
SyldapServer *ldapServer;
+
+ debug_print("Creating LDAP server interface object\n");
+
ldapServer = g_new0( SyldapServer, 1 );
ldapServer->name = NULL;
ldapServer->hostName = NULL;
ldapServer = g_new0( SyldapServer, 1 );
ldapServer->name = NULL;
ldapServer->hostName = NULL;
void syldap_free( SyldapServer *ldapServer ) {
g_return_if_fail( ldapServer != NULL );
void syldap_free( SyldapServer *ldapServer ) {
g_return_if_fail( ldapServer != NULL );
+ debug_print("Freeing LDAP server interface object\n");
+
ldapServer->callBack = NULL;
/* Free internal stuff */
ldapServer->callBack = NULL;
/* Free internal stuff */
ldapServer->searchCriteria = NULL;
ldapServer->searchValue = NULL;
ldapServer->addressCache = NULL;
ldapServer->searchCriteria = NULL;
ldapServer->searchValue = NULL;
ldapServer->addressCache = NULL;
+ g_free(ldapServer->thread);
ldapServer->thread = NULL;
ldapServer->busyFlag = FALSE;
ldapServer->retVal = MGU_SUCCESS;
ldapServer->thread = NULL;
ldapServer->busyFlag = FALSE;
ldapServer->retVal = MGU_SUCCESS;
if( ldapServer->callBack ) {
( ldapServer->callBack )( ldapServer );
}
if( ldapServer->callBack ) {
( ldapServer->callBack )( ldapServer );
}
+ /* The thread struct should not be freed inside the thread
+ g_free(ldapServer->thread);
ldapServer->thread = NULL;
pthread_exit( NULL );
ldapServer->thread = NULL;
pthread_exit( NULL );
return ldapServer->retVal;
}
return ldapServer->retVal;
}
if( ldapServer->thread ) {
/* printf( "thread cancelled\n" ); */
if( ldapServer->thread ) {
/* printf( "thread cancelled\n" ); */
+ /* The thread is cancleing itself, ok?
pthread_cancel( *ldapServer->thread );
pthread_cancel( *ldapServer->thread );
+ /* The thread struct should not be freed inside the thread
+ g_free(ldapServer->thread);
ldapServer->thread = NULL;
ldapServer->thread = NULL;
ldapServer->busyFlag = FALSE;
}
ldapServer->busyFlag = FALSE;
}
*/
/* ============================================================================================ */
gint syldap_read_data_th( SyldapServer *ldapServer ) {
*/
/* ============================================================================================ */
gint syldap_read_data_th( SyldapServer *ldapServer ) {
g_return_val_if_fail( ldapServer != NULL, -1 );
ldapServer->busyFlag = FALSE;
syldap_check_search( ldapServer );
if( ldapServer->retVal == MGU_SUCCESS ) {
g_return_val_if_fail( ldapServer != NULL, -1 );
ldapServer->busyFlag = FALSE;
syldap_check_search( ldapServer );
if( ldapServer->retVal == MGU_SUCCESS ) {
+ debug_print("Staring LDAP read thread\n");
+
ldapServer->busyFlag = TRUE;
ldapServer->busyFlag = TRUE;
- ldapServer->thread = &thread;
+ ldapServer->thread = g_new0(pthread_t, 1);
pthread_create( ldapServer->thread, NULL, (void *) &syldap_read_data, (void *) ldapServer );
}
return ldapServer->retVal;
pthread_create( ldapServer->thread, NULL, (void *) &syldap_read_data, (void *) ldapServer );
}
return ldapServer->retVal;