Re: Time for another round of releases
Manolis Ragkousis, on Fri 14 Oct 2016 16:42:42 +0300, wrote: > ../libpthread/sysdeps/hurd/pt-key.h: In function ‘__pthread_key_lock_ready’: > ../libpthread/sysdeps/pthread/bits/once.h:32:10: error: initializer > element is not constant > (struct __pthread_once) { 0, __PTHREAD_SPIN_LOCK_INITIALIZER } > ^ > ../libpthread/include/pthread/pthread.h:757:27: note: in expansion of > macro ‘__PTHREAD_ONCE_INIT’ > #define PTHREAD_ONCE_INIT __PTHREAD_ONCE_INIT >^ > ../libpthread/sysdeps/hurd/pt-key.h:55:29: note: in expansion of macro > ‘PTHREAD_ONCE_INIT’ >static pthread_once_t o = PTHREAD_ONCE_INIT; That's odd, I'm not getting such error. This really is constant... Does the attached program fail to build too? It should be equivalent to the libpthread code at stake. Samuel typedef volatile int fooo; struct foo { int i; fooo j; }; static struct foo bar = (struct foo) { 0, ((fooo) 0)}; int main(void) { }
Re: Time for another round of releases
Building the latest tschwinge/Roger_Whittaker fails with: In file included from ../libpthread/include/pthread/pthreadtypes.h:120:0, from ../libpthread/include/pthread/pthread.h:55, from ../libpthread/include/pthread.h:2, from ../include/pthread.h:1, from ./pthread/../sysdeps/generic/pt-attr.c:20: ../libpthread/sysdeps/hurd/pt-key.h: In function ‘__pthread_key_lock_ready’: ../libpthread/sysdeps/pthread/bits/once.h:32:10: error: initializer element is not constant (struct __pthread_once) { 0, __PTHREAD_SPIN_LOCK_INITIALIZER } ^ ../libpthread/include/pthread/pthread.h:757:27: note: in expansion of macro ‘__PTHREAD_ONCE_INIT’ #define PTHREAD_ONCE_INIT __PTHREAD_ONCE_INIT ^ ../libpthread/sysdeps/hurd/pt-key.h:55:29: note: in expansion of macro ‘PTHREAD_ONCE_INIT’ static pthread_once_t o = PTHREAD_ONCE_INIT; ^ http://paste.lisp.org/display/328517 Manolis
Re: libpager multi-client support
"Brent W. Baccala"writes: > Second, I can't find anywhere in the hurd source tree where this function > is actually used. Commit 84cf9c0f312637b670cc87224ff7e7c4da659e36 on 2013-09-17 removed the ufs directory, in which the offer_data function used to call pager_offer_page. The last argument of pager_offer_page always pointed to a page that was part of the global zeroblock, which was the size of a filesystem block and filled with zeroes. > Third, why would we want this feature? Why would a memory server ever want > to send an unsolicited page to a client? One of the offer_data calls was preceded by a comment: /* Make sure that any pages of this block which just became allocated don't get paged in from disk. */ I don't know how ext2fs makes sure of that, or whether pager_offer_page might again be needed for the same purpose in the future.