On Saturday, March 10, 2012 10:07:37 AM Jean-Louis Martineau did opine: > Amanda do not use its own implementation of g_queue_free_full, so it can > be removed with the attached patch. > > Jean-Louis
Patch not yet complete, Jean-Louis Now it will build and install, but I did see a warning go by at about 200 mph during the make, and amcheck now bails on this: Amanda Tape Server Host Check ----------------------------- Holding disk /usr/dumps: 415024 MB disk space available, using 414524 MB ** ERROR:glib-util.c:45:glib_init: assertion failed: (!g_thread_supported()) amcheck-device terminated with signal 6Server check took 0.087 seconds Amanda Backup Client Hosts Check -------------------------------- Client check: 2 hosts checked in 2.491 seconds. 0 problems found. (brought to you by Amanda 4.0.0alpha.svn.4591) I believe that this is the other change I mentioned in the previous reply. A patch that addresses this warning: ============================== libtool: compile: gcc -DHAVE_CONFIG_H -I. -I../config -I../common-src - I../common-src -I../xfer-src -I../ndmp-src -I../gnulib -fno-strict-aliasing -D_GNU_SOURCE -pthread -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -Wall -Wextra -Wparentheses -Wdeclaration-after-statement -Wmissing- prototypes -Wstrict-prototypes -Wmissing-declarations -Wformat -Wformat- security -Wsign-compare -Wfloat-equal -Wold-style-definition -Wno-strict- aliasing -Wno-unknown-pragmas -Wno-strict-prototypes -g -O2 -fno-strict- aliasing -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -MT xfer-dest-taper- cacher.lo -MD -MP -MF .deps/xfer-dest-taper-cacher.Tpo -c xfer-dest-taper- cacher.c -fPIC -DPIC -o .libs/xfer-dest-taper-cacher.o xfer-dest-taper-cacher.c: In function 'device_thread': xfer-dest-taper-cacher.c:1008:2: warning: 'g_thread_create' is deprecated (declared at /usr/include/glib-2.0/glib/deprecated/gthread.h:100): Use 'g_thread_new' instead xfer-dest-taper-cacher.c: In function 'start_impl': xfer-dest-taper-cacher.c:1204:5: warning: 'g_thread_create' is deprecated (declared at /usr/include/glib-2.0/glib/deprecated/gthread.h:100): Use 'g_thread_new' instead xfer-dest-taper-cacher.c: In function 'instance_init': xfer-dest-taper-cacher.c:1340:5: warning: 'g_mutex_new' is deprecated (declared at /usr/include/glib-2.0/glib/deprecated/gthread.h:271) xfer-dest-taper-cacher.c:1341:5: warning: 'g_cond_new' is deprecated (declared at /usr/include/glib-2.0/glib/deprecated/gthread.h:275) xfer-dest-taper-cacher.c:1342:5: warning: 'g_mutex_new' is deprecated (declared at /usr/include/glib-2.0/glib/deprecated/gthread.h:271) xfer-dest-taper-cacher.c:1343:5: warning: 'g_cond_new' is deprecated (declared at /usr/include/glib-2.0/glib/deprecated/gthread.h:275) xfer-dest-taper-cacher.c:1344:5: warning: 'g_cond_new' is deprecated (declared at /usr/include/glib-2.0/glib/deprecated/gthread.h:275) xfer-dest-taper-cacher.c: In function 'finalize_impl': xfer-dest-taper-cacher.c:1363:5: warning: 'g_mutex_free' is deprecated (declared at /usr/include/glib-2.0/glib/deprecated/gthread.h:273) xfer-dest-taper-cacher.c:1364:5: warning: 'g_cond_free' is deprecated (declared at /usr/include/glib-2.0/glib/deprecated/gthread.h:277) xfer-dest-taper-cacher.c:1366:5: warning: 'g_mutex_free' is deprecated (declared at /usr/include/glib-2.0/glib/deprecated/gthread.h:273) xfer-dest-taper-cacher.c:1367:5: warning: 'g_cond_free' is deprecated (declared at /usr/include/glib-2.0/glib/deprecated/gthread.h:277) xfer-dest-taper-cacher.c:1368:5: warning: 'g_cond_free' is deprecated (declared at /usr/include/glib-2.0/glib/deprecated/gthread.h:277) ============================= I put an extra line for emphasis a couple places above. That was the first stanza of warnings I think, but wasn't the last, so I'll go get the others too. ================================ libtool: compile: gcc -DHAVE_CONFIG_H -I. -I../config -I../common-src - I../common-src -I../xfer-src -I../ndmp-src -I../gnulib -fno-strict-aliasing -D_GNU_SOURCE -pthread -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -Wall -Wextra -Wparentheses -Wdeclaration-after-statement -Wmissing- prototypes -Wstrict-prototypes -Wmissing-declarations -Wformat -Wformat- security -Wsign-compare -Wfloat-equal -Wold-style-definition -Wno-strict- aliasing -Wno-unknown-pragmas -Wno-strict-prototypes -g -O2 -fno-strict- aliasing -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -MT xfer-dest-taper- directtcp.lo -MD -MP -MF .deps/xfer-dest-taper-directtcp.Tpo -c xfer-dest- taper-directtcp.c -fPIC -DPIC -o .libs/xfer-dest-taper-directtcp.o xfer-dest-taper-directtcp.c: In function 'start_impl': xfer-dest-taper-directtcp.c:305:5: warning: 'g_thread_create' is deprecated (declared at /usr/include/glib-2.0/glib/deprecated/gthread.h:100): Use 'g_thread_new' instead xfer-dest-taper-directtcp.c: In function 'instance_init': xfer-dest-taper-directtcp.c:418:5: warning: 'g_mutex_new' is deprecated (declared at /usr/include/glib-2.0/glib/deprecated/gthread.h:271) xfer-dest-taper-directtcp.c:419:5: warning: 'g_cond_new' is deprecated (declared at /usr/include/glib-2.0/glib/deprecated/gthread.h:275) xfer-dest-taper-directtcp.c: In function 'finalize_impl': xfer-dest-taper-directtcp.c:440:5: warning: 'g_mutex_free' is deprecated (declared at /usr/include/glib-2.0/glib/deprecated/gthread.h:273) xfer-dest-taper-directtcp.c:441:5: warning: 'g_cond_free' is deprecated (declared at /usr/include/glib-2.0/glib/deprecated/gthread.h:277) ================================= Looks similar, as does this ================================== libtool: compile: gcc -DHAVE_CONFIG_H -I. -I../config -I../common-src - I../common-src -I../xfer-src -I../ndmp-src -I../gnulib -fno-strict-aliasing -D_GNU_SOURCE -pthread -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -Wall -Wextra -Wparentheses -Wdeclaration-after-statement -Wmissing- prototypes -Wstrict-prototypes -Wmissing-declarations -Wformat -Wformat- security -Wsign-compare -Wfloat-equal -Wold-style-definition -Wno-strict- aliasing -Wno-unknown-pragmas -Wno-strict-prototypes -g -O2 -fno-strict- aliasing -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -MT xfer-dest-taper- splitter.lo -MD -MP -MF .deps/xfer-dest-taper-splitter.Tpo -c xfer-dest- taper-splitter.c -fPIC -DPIC -o .libs/xfer-dest-taper-splitter.o xfer-dest-taper-splitter.c: In function 'start_impl': xfer-dest-taper-splitter.c:713:5: warning: 'g_thread_create' is deprecated (declared at /usr/include/glib-2.0/glib/deprecated/gthread.h:100): Use 'g_thread_new' instead xfer-dest-taper-splitter.c: In function 'instance_init': xfer-dest-taper-splitter.c:884:5: warning: 'g_mutex_new' is deprecated (declared at /usr/include/glib-2.0/glib/deprecated/gthread.h:271) xfer-dest-taper-splitter.c:885:5: warning: 'g_cond_new' is deprecated (declared at /usr/include/glib-2.0/glib/deprecated/gthread.h:275) xfer-dest-taper-splitter.c:886:5: warning: 'g_mutex_new' is deprecated (declared at /usr/include/glib-2.0/glib/deprecated/gthread.h:271) xfer-dest-taper-splitter.c:887:5: warning: 'g_cond_new' is deprecated (declared at /usr/include/glib-2.0/glib/deprecated/gthread.h:275) xfer-dest-taper-splitter.c:888:5: warning: 'g_cond_new' is deprecated (declared at /usr/include/glib-2.0/glib/deprecated/gthread.h:275) xfer-dest-taper-splitter.c:889:5: warning: 'g_mutex_new' is deprecated (declared at /usr/include/glib-2.0/glib/deprecated/gthread.h:271) xfer-dest-taper-splitter.c: In function 'finalize_impl': xfer-dest-taper-splitter.c:906:5: warning: 'g_mutex_free' is deprecated (declared at /usr/include/glib-2.0/glib/deprecated/gthread.h:273) xfer-dest-taper-splitter.c:907:5: warning: 'g_cond_free' is deprecated (declared at /usr/include/glib-2.0/glib/deprecated/gthread.h:277) xfer-dest-taper-splitter.c:909:5: warning: 'g_mutex_free' is deprecated (declared at /usr/include/glib-2.0/glib/deprecated/gthread.h:273) xfer-dest-taper-splitter.c:910:5: warning: 'g_cond_free' is deprecated (declared at /usr/include/glib-2.0/glib/deprecated/gthread.h:277) xfer-dest-taper-splitter.c:911:5: warning: 'g_cond_free' is deprecated (declared at /usr/include/glib-2.0/glib/deprecated/gthread.h:277) xfer-dest-taper-splitter.c:913:5: warning: 'g_mutex_free' is deprecated (declared at /usr/include/glib-2.0/glib/deprecated/gthread.h:273) ================================ libtool: compile: gcc -DHAVE_CONFIG_H -I. -I../config -I../common-src - I../common-src -I../xfer-src -I../ndmp-src -I../gnulib -fno-strict-aliasing -D_GNU_SOURCE -pthread -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -Wall -Wextra -Wparentheses -Wdeclaration-after-statement -Wmissing- prototypes -Wstrict-prototypes -Wmissing-declarations -Wformat -Wformat- security -Wsign-compare -Wfloat-equal -Wold-style-definition -Wno-strict- aliasing -Wno-unknown-pragmas -Wno-strict-prototypes -g -O2 -fno-strict- aliasing -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -MT xfer-source- recovery.lo -MD -MP -MF .deps/xfer-source-recovery.Tpo -c xfer-source- recovery.c -fPIC -DPIC -o .libs/xfer-source-recovery.o xfer-source-recovery.c: In function 'start_impl': xfer-source-recovery.c:334:2: warning: 'g_thread_create' is deprecated (declared at /usr/include/glib-2.0/glib/deprecated/gthread.h:100): Use 'g_thread_new' instead xfer-source-recovery.c:338:2: warning: 'g_thread_create' is deprecated (declared at /usr/include/glib-2.0/glib/deprecated/gthread.h:100): Use 'g_thread_new' instead xfer-source-recovery.c: In function 'finalize_impl': xfer-source-recovery.c:601:5: warning: 'g_cond_free' is deprecated (declared at /usr/include/glib-2.0/glib/deprecated/gthread.h:277) xfer-source-recovery.c:602:5: warning: 'g_mutex_free' is deprecated (declared at /usr/include/glib-2.0/glib/deprecated/gthread.h:273) xfer-source-recovery.c: In function 'instance_init': xfer-source-recovery.c:612:5: warning: 'g_cond_new' is deprecated (declared at /usr/include/glib-2.0/glib/deprecated/gthread.h:275) xfer-source-recovery.c:613:5: warning: 'g_mutex_new' is deprecated (declared at /usr/include/glib-2.0/glib/deprecated/gthread.h:271) =============================== But this one is slightly different: ================================ libtool: compile: gcc -DHAVE_CONFIG_H -I. -I../config -I../common-src - I../common-src -I../xfer-src -I../ndmp-src -I../gnulib -fno-strict-aliasing -D_GNU_SOURCE -pthread -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -Wall -Wextra -Wparentheses -Wdeclaration-after-statement -Wmissing- prototypes -Wstrict-prototypes -Wmissing-declarations -Wformat -Wformat- security -Wsign-compare -Wfloat-equal -Wold-style-definition -Wno-strict- aliasing -Wno-unknown-pragmas -Wno-strict-prototypes -g -O2 -fno-strict- aliasing -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -MT s3.lo -MD -MP -MF .deps/s3.Tpo -c s3.c -fPIC -DPIC -o .libs/s3.o s3.c: In function 's3_init': s3.c:1721:5: warning: missing initializer s3.c:1721:5: warning: (near initialization for 'mutex.unused') ======================== There are 2 more in the make scrollback that look to be dups of the above. It almost looks as if a grep for g_thread_create, replacing it with g_thread_new would fix this? Experiment, how many hits? [amanda@coyote amanda-4.0.0alpha.svn.4591]$ grep -R g_thread_create * common-src/ipc-binary-test.c: child = g_thread_create(test_sync_child, &data, TRUE, NULL); common-src/amflock-test.c: thd = g_thread_create((GThreadFunc)test_intra_proc_locking_thd, (gpointer)thd_fds, TRUE, NULL); common-src/amsemaphore-test.c: th = g_thread_create(test_decr_wait_thread, (gpointer)&data, TRUE, NULL); common-src/amsemaphore-test.c: th = g_thread_create(test_wait_empty_thread, (gpointer)sem, TRUE, NULL); common-src/amsemaphore-test.c: th = g_thread_create(test_force_adjust_thread, (gpointer)sem, TRUE, NULL); common-src/amsemaphore-test.c: th = g_thread_create(test_force_set_thread, (gpointer)sem, TRUE, NULL); device-src/xfer-dest-taper-splitter.c: self->device_thread = g_thread_create(device_thread, (gpointer)self, FALSE, &error); device-src/xfer-source-recovery.c: self->thread = g_thread_create(directtcp_connect_thread, (gpointer)self, FALSE, NULL); device-src/xfer-source-recovery.c: self->thread = g_thread_create(directtcp_listen_thread, (gpointer)self, FALSE, NULL); device-src/rait-device.c: inf->thread = g_thread_create(rait_thread_pool_func, inf, TRUE, NULL); device-src/xfer-dest-taper-directtcp.c: self->worker_thread = g_thread_create(worker_thread, (gpointer)self, TRUE, &error); device-src/xfer-dest-taper-cacher.c: self->disk_cache_thread = g_thread_create(disk_cache_thread, (gpointer)self, TRUE, &error); device-src/xfer-dest-taper-cacher.c: self->device_thread = g_thread_create(device_thread, (gpointer)self, FALSE, &error); ndmp-src/ndma_comm_session.c: g_thread_create(exit_on_stdin_eof_thread, NULL, FALSE, NULL); perl/Amanda/Tests.c: thd = g_thread_create(thread_fn, (gpointer)&data, TRUE, NULL); perl/Amanda/Tests.swg: thd = g_thread_create(thread_fn, (gpointer)&data, TRUE, NULL); server-src/xfer-dest-holding.c: self->holding_thread = g_thread_create(holding_thread, (gpointer)self, FALSE, &error); xfer-src/element-glue.c: self->thread = g_thread_create(worker_thread, (gpointer)self, TRUE, NULL); xfer-src/xfer-test.c: self->thread = g_thread_create(source_readfd_thread, (gpointer)self, FALSE, NULL); xfer-src/xfer-test.c: self->thread = g_thread_create(source_writefd_thread, (gpointer)self, FALSE, NULL); xfer-src/xfer-test.c: self->thread = g_thread_create(source_push_thread, (gpointer)self, FALSE, NULL); xfer-src/xfer-test.c: self->thread = g_thread_create(source_listen_thread, (gpointer)self, FALSE, NULL); xfer-src/xfer-test.c: self->thread = g_thread_create(source_connect_thread, (gpointer)self, FALSE, NULL); xfer-src/xfer-test.c: self->thread = g_thread_create(dest_readfd_thread, (gpointer)self, FALSE, NULL); xfer-src/xfer-test.c: self->thread = g_thread_create(dest_writefd_thread, (gpointer)self, FALSE, NULL); xfer-src/xfer-test.c: self->thread = g_thread_create(dest_pull_thread, (gpointer)self, FALSE, NULL); xfer-src/xfer-test.c: self->thread = g_thread_create(dest_listen_thread, (gpointer)self, FALSE, NULL); xfer-src/xfer-test.c: self->thread = g_thread_create(dest_connect_thread, (gpointer)self, FALSE, NULL); 27 places in 14 files. Too bad grep doesn't stand for Globally Replace. :) For this I could be it being handier than a cold 6 pack of Mikes Hard Lemonade! Cheers, Gene -- "There are four boxes to be used in defense of liberty: soap, ballot, jury, and ammo. Please use in that order." -Ed Howdershelt (Author) My web page: <http://coyoteden.dyndns-free.com:85/gene> Yow! Is my fallout shelter termite proof?
