diff options
author | Christian Grothoff <christian@grothoff.org> | 2005-08-22 00:19:31 +0000 |
---|---|---|
committer | Christian Grothoff <christian@grothoff.org> | 2005-08-22 00:19:31 +0000 |
commit | 1ee308b40bda160135e580fe0090d67705738a3a (patch) | |
tree | 338f6f6c91af9cbf694e60ddc6573f38aa4bee2a | |
parent | de5f84ab9cded0bb4298c30f3c8f2a1ece05332d (diff) | |
download | gnunet-gtk-1ee308b40bda160135e580fe0090d67705738a3a.tar.gz gnunet-gtk-1ee308b40bda160135e580fe0090d67705738a3a.zip |
fixing 894
-rw-r--r-- | src/core/main.c | 25 | ||||
-rw-r--r-- | src/plugins/fs/fs.c | 32 | ||||
-rw-r--r-- | src/plugins/fs/upload.c | 1 |
3 files changed, 29 insertions, 29 deletions
diff --git a/src/core/main.c b/src/core/main.c index f4185df7..977e041e 100644 --- a/src/core/main.c +++ b/src/core/main.c | |||
@@ -88,9 +88,20 @@ static int parseOptions(int argc, | |||
88 | return OK; | 88 | return OK; |
89 | } | 89 | } |
90 | 90 | ||
91 | static void * shutdownCode(void * arg) { | ||
92 | Semaphore * sig = arg; | ||
93 | stopCron(); | ||
94 | doneGNUnetGTKCommon(); | ||
95 | SEMAPHORE_UP(sig); | ||
96 | return NULL; | ||
97 | } | ||
98 | |||
91 | int main(int argc, | 99 | int main(int argc, |
92 | char *argv[]) { | 100 | char *argv[]) { |
93 | GtkWidget * root; | 101 | GtkWidget * root; |
102 | PTHREAD_T doneThread; | ||
103 | Semaphore * sig; | ||
104 | void * unused; | ||
94 | 105 | ||
95 | g_thread_init(NULL); | 106 | g_thread_init(NULL); |
96 | gtk_init(&argc, &argv); | 107 | gtk_init(&argc, &argv); |
@@ -122,10 +133,18 @@ int main(int argc, | |||
122 | gtk_main(); | 133 | gtk_main(); |
123 | gdk_threads_leave(); | 134 | gdk_threads_leave(); |
124 | setCustomLogProc(NULL); | 135 | setCustomLogProc(NULL); |
125 | while (YES == gtkRunSomeSaveCalls()) ; | ||
126 | stopCron(); | ||
127 | 136 | ||
128 | doneGNUnetGTKCommon(); | 137 | sig = SEMAPHORE_NEW(0); |
138 | if (0 != PTHREAD_CREATE(&doneThread, | ||
139 | &shutdownCode, | ||
140 | sig, | ||
141 | 64*1024)) | ||
142 | DIE_STRERROR("pthread_create"); | ||
143 | while (OK != SEMAPHORE_DOWN_NONBLOCKING(sig)) | ||
144 | gtkRunSomeSaveCalls(); | ||
145 | PTHREAD_JOIN(&doneThread, | ||
146 | &unused); | ||
147 | SEMAPHORE_FREE(sig); | ||
129 | doneUtil(); | 148 | doneUtil(); |
130 | 149 | ||
131 | return 0; | 150 | return 0; |
diff --git a/src/plugins/fs/fs.c b/src/plugins/fs/fs.c index a0d1e227..37bae3fd 100644 --- a/src/plugins/fs/fs.c +++ b/src/plugins/fs/fs.c | |||
@@ -115,17 +115,6 @@ static void eventProcessor(void * cls, | |||
115 | (void*) event); | 115 | (void*) event); |
116 | } | 116 | } |
117 | 117 | ||
118 | static void * shutdownCode(Semaphore * sig) { | ||
119 | fs_download_stop(); | ||
120 | fs_search_stop(); | ||
121 | fs_collection_stop(); | ||
122 | fs_namespace_stop(); | ||
123 | fs_upload_stop(); | ||
124 | FSUI_stop(ctx); | ||
125 | SEMAPHORE_UP(sig); | ||
126 | return NULL; | ||
127 | } | ||
128 | |||
129 | void init_fs() { | 118 | void init_fs() { |
130 | GtkWidget * tab; | 119 | GtkWidget * tab; |
131 | GtkWidget * book; | 120 | GtkWidget * book; |
@@ -153,21 +142,12 @@ void init_fs() { | |||
153 | } | 142 | } |
154 | 143 | ||
155 | void done_fs() { | 144 | void done_fs() { |
156 | PTHREAD_T doneThread; | 145 | fs_download_stop(); |
157 | Semaphore * sig; | 146 | fs_search_stop(); |
158 | void * unused; | 147 | fs_collection_stop(); |
159 | 148 | fs_namespace_stop(); | |
160 | sig = SEMAPHORE_NEW(0); | 149 | fs_upload_stop(); |
161 | if (0 != PTHREAD_CREATE(&doneThread, | 150 | FSUI_stop(ctx); |
162 | (PThreadMain)&shutdownCode, | ||
163 | sig, | ||
164 | 64*1024)) | ||
165 | DIE_STRERROR("pthread_create"); | ||
166 | while (OK != SEMAPHORE_DOWN_NONBLOCKING(sig)) | ||
167 | gtkRunSomeSaveCalls(); | ||
168 | PTHREAD_JOIN(&doneThread, | ||
169 | &unused); | ||
170 | SEMAPHORE_FREE(sig); | ||
171 | } | 151 | } |
172 | 152 | ||
173 | /* end of fs.c */ | 153 | /* end of fs.c */ |
diff --git a/src/plugins/fs/upload.c b/src/plugins/fs/upload.c index ff7856d8..259c8c86 100644 --- a/src/plugins/fs/upload.c +++ b/src/plugins/fs/upload.c | |||
@@ -374,6 +374,7 @@ void on_fsinsertuploadbutton_clicked(gpointer dummy, | |||
374 | gtk_spin_button_get_value_as_int | 374 | gtk_spin_button_get_value_as_int |
375 | (GTK_SPIN_BUTTON(spin)), | 375 | (GTK_SPIN_BUTTON(spin)), |
376 | doIndex, | 376 | doIndex, |
377 | NO, /* FIXME: make option! */ | ||
377 | meta, | 378 | meta, |
378 | gkeywordURI, | 379 | gkeywordURI, |
379 | keywordURI); | 380 | keywordURI); |