]> mj.ucw.cz Git - libucw.git/log
libucw.git
12 years agoDoc: Describe general rules for reentrancy
Martin Mares [Sat, 11 Feb 2012 17:53:02 +0000 (18:53 +0100)]
Doc: Describe general rules for reentrancy

12 years agoRemoved str_start_with() and str_end_with()
Martin Mares [Sat, 11 Feb 2012 17:37:02 +0000 (18:37 +0100)]
Removed str_start_with() and str_end_with()

They were already present in dev-trans under different names.

12 years agoDocs: Removed obsolete remarks about automatic tying of fastbufs
Martin Mares [Sat, 11 Feb 2012 17:29:35 +0000 (18:29 +0100)]
Docs: Removed obsolete remarks about automatic tying of fastbufs

12 years agoTrans: Moved FIXMEs to global TODO
Martin Mares [Sat, 11 Feb 2012 11:21:57 +0000 (12:21 +0100)]
Trans: Moved FIXMEs to global TODO

12 years agoMerge branch 'dev-trans'
Martin Mares [Sat, 11 Feb 2012 11:20:31 +0000 (12:20 +0100)]
Merge branch 'dev-trans'

Conflicts:
ucw/Makefile
ucw/string.h

12 years agoTester: Do not be picky about final newlines
Martin Mares [Fri, 10 Feb 2012 22:11:04 +0000 (23:11 +0100)]
Tester: Do not be picky about final newlines

12 years agoBasecode tests were completely wrong
Martin Mares [Fri, 10 Feb 2012 22:10:33 +0000 (23:10 +0100)]
Basecode tests were completely wrong

Wrong directory, wrong keywords...

12 years agoGrowing arrays: Fixed test cases
Martin Mares [Fri, 10 Feb 2012 21:57:16 +0000 (22:57 +0100)]
Growing arrays: Fixed test cases

"Output" is not a synonym for "Out".

12 years agoGrowing arrays now support auto-zeroing mode
Martin Mares [Fri, 10 Feb 2012 21:57:03 +0000 (22:57 +0100)]
Growing arrays now support auto-zeroing mode

12 years agoUpdated TODO
Martin Mares [Thu, 9 Feb 2012 22:43:14 +0000 (23:43 +0100)]
Updated TODO

12 years agoRemoved the `qache' module
Martin Mares [Thu, 9 Feb 2012 22:42:16 +0000 (23:42 +0100)]
Removed the `qache' module

During the whole history, it had only a single use in Sherlock's
multiplexer. Will be moved to libsherlock upon reviving Sherlock.

12 years agoDoc: Mention several undocumented modules
Martin Mares [Thu, 9 Feb 2012 22:36:36 +0000 (23:36 +0100)]
Doc: Mention several undocumented modules

12 years agoMoved memory allocation functions together and document them
Martin Mares [Thu, 9 Feb 2012 22:33:00 +0000 (23:33 +0100)]
Moved memory allocation functions together and document them

12 years agoThe `prefetch' module has been removed.
Martin Mares [Thu, 9 Feb 2012 22:29:52 +0000 (23:29 +0100)]
The `prefetch' module has been removed.

In recent years, GCC builtin_prefetch() is much more useful.

12 years agoThe rest of sighandler separation
Martin Mares [Thu, 9 Feb 2012 22:29:10 +0000 (23:29 +0100)]
The rest of sighandler separation

12 years agoSeparated out sighandler module
Martin Mares [Thu, 9 Feb 2012 22:24:07 +0000 (23:24 +0100)]
Separated out sighandler module

For years, it was used only in lizard-safe and its use makes
signal handling even more complicated than it's usual.

Scheduled for removal, will replace it by a lizard-specific hack.

12 years agoMoved process-related functions to ucw/process.h
Martin Mares [Thu, 9 Feb 2012 22:16:51 +0000 (23:16 +0100)]
Moved process-related functions to ucw/process.h

12 years agoio.h: Fixed guard macro
Martin Mares [Thu, 9 Feb 2012 22:12:08 +0000 (23:12 +0100)]
io.h: Fixed guard macro

12 years agoMore modules moved to io.h and renamed to io-*.c
Martin Mares [Thu, 9 Feb 2012 22:09:46 +0000 (23:09 +0100)]
More modules moved to io.h and renamed to io-*.c

This includes carefulio, mmap, file_size() and sync.

12 years agoMoved ucw/lfs.h to ucw/io.h
Martin Mares [Thu, 9 Feb 2012 22:02:17 +0000 (23:02 +0100)]
Moved ucw/lfs.h to ucw/io.h

More I/O functions will follow.

12 years agoThe `randomkey' module has been removed.
Martin Mares [Thu, 9 Feb 2012 21:54:43 +0000 (22:54 +0100)]
The `randomkey' module has been removed.

Obsolete, no real use in years.

12 years agoThe `profile' module has been removed
Martin Mares [Thu, 9 Feb 2012 21:48:31 +0000 (22:48 +0100)]
The `profile' module has been removed

It was obsolete and I do not know of any use in last 5 years.

12 years agoMain: hook_add() is guaranteed to reschedule the hook
Martin Mares [Thu, 9 Feb 2012 21:24:54 +0000 (22:24 +0100)]
Main: hook_add() is guaranteed to reschedule the hook

12 years agoMain: Removing an already removed event is always safe.
Martin Mares [Thu, 9 Feb 2012 19:20:34 +0000 (20:20 +0100)]
Main: Removing an already removed event is always safe.

Also adding an already added hook is always safe. For other event
types, we still refuse repeated adds.

12 years agoAdded consts to functions for matching of prefixes and suffixes.
Pavel Charvat [Wed, 8 Feb 2012 13:58:46 +0000 (14:58 +0100)]
Added consts to functions for matching of prefixes and suffixes.

12 years agoMain: Fixed miscalculated memory allocation
Martin Mares [Tue, 7 Feb 2012 09:10:11 +0000 (10:10 +0100)]
Main: Fixed miscalculated memory allocation

12 years agostrtonum: str_to_<signed> now implicitly allows signs
Martin Mares [Fri, 27 Jan 2012 14:05:47 +0000 (15:05 +0100)]
strtonum: str_to_<signed> now implicitly allows signs

12 years agoString: Added str_starts_with() and str_ends_with()
Martin Mares [Sat, 7 Jan 2012 14:25:47 +0000 (15:25 +0100)]
String: Added str_starts_with() and str_ends_with()

12 years agoLogging: Use log_set_default_stream().
Martin Mares [Sat, 7 Jan 2012 13:33:52 +0000 (14:33 +0100)]
Logging: Use log_set_default_stream().

12 years agoLogging: Added log_set_default_stream()
Martin Mares [Sat, 7 Jan 2012 13:33:43 +0000 (14:33 +0100)]
Logging: Added log_set_default_stream()

12 years ago<ucw/sha1.h> is a part of the public API, do not forget to install it
Martin Mares [Thu, 5 Jan 2012 17:35:39 +0000 (18:35 +0100)]
<ucw/sha1.h> is a part of the public API, do not forget to install it

12 years agomempool: Fixed a memory leak in mp_pop().
Pavel Charvat [Mon, 5 Dec 2011 10:21:42 +0000 (11:21 +0100)]
mempool: Fixed a memory leak in mp_pop().

12 years agoUCW::CGI: Updated copyright
Martin Mares [Tue, 22 Nov 2011 16:15:09 +0000 (17:15 +0100)]
UCW::CGI: Updated copyright

12 years agoUCW::CGI: Use "//" instead of "||" where appropriate
Martin Mares [Tue, 22 Nov 2011 16:14:18 +0000 (17:14 +0100)]
UCW::CGI: Use "//" instead of "||" where appropriate

12 years agoUCW::CGI: Report all errors by proper HTTP status codes
Martin Mares [Tue, 22 Nov 2011 16:13:32 +0000 (17:13 +0100)]
UCW::CGI: Report all errors by proper HTTP status codes

All calls to die have been replaced by returning a proper HTTP status
code. (A sole exception is if we fail, because we were not run as a CGI
script at all.)

Also, the set of supported HTTP methods now includes HEAD.

12 years agolog output: Fix of a bug introduced during cleanups
Martin Mares [Thu, 20 Oct 2011 07:16:53 +0000 (09:16 +0200)]
log output: Fix of a bug introduced during cleanups

12 years agologoutput: A few cleanups
Martin Mares [Tue, 18 Oct 2011 16:17:15 +0000 (18:17 +0200)]
logoutput: A few cleanups

12 years agoAdded a utility for logging of program output
Martin Mares [Tue, 18 Oct 2011 16:12:16 +0000 (18:12 +0200)]
Added a utility for logging of program output

Contributed by Tomas Ebenlendr <ebik@ucw.cz>.

12 years agoMerge branch 'dev-mainloop' of ssh://git.ucw.cz/projects/libucw/GIT/libucw into dev...
Martin Mares [Sun, 25 Sep 2011 12:03:38 +0000 (14:03 +0200)]
Merge branch 'dev-mainloop' of ssh://git.ucw.cz/projects/libucw/GIT/libucw into dev-mainloop

12 years agoTODO: A few remarks...
Martin Mares [Sun, 25 Sep 2011 12:03:28 +0000 (14:03 +0200)]
TODO: A few remarks...

12 years agoMain recio: Killed an ASSERT, which triggered under legitimate conditions
Martin Mares [Wed, 14 Sep 2011 13:19:58 +0000 (15:19 +0200)]
Main recio: Killed an ASSERT, which triggered under legitimate conditions

12 years agoLet setproctitle() recalculate program_invocation_name
Martin Mares [Fri, 19 Aug 2011 15:17:45 +0000 (17:17 +0200)]
Let setproctitle() recalculate program_invocation_name

Otherwise, syslog() and other functions which try to log the name
of the current programs are confused.

12 years agoMain: Complete the fix in HEAD^^
Martin Mares [Fri, 19 Aug 2011 10:38:59 +0000 (12:38 +0200)]
Main: Complete the fix in HEAD^^

12 years agoMain: Better reporting of fio errors in main-test
Martin Mares [Fri, 19 Aug 2011 10:38:11 +0000 (12:38 +0200)]
Main: Better reporting of fio errors in main-test

12 years agoMain: Clean up handling of poll flags
Martin Mares [Fri, 19 Aug 2011 10:29:34 +0000 (12:29 +0200)]
Main: Clean up handling of poll flags

- We no longer include POLLERR and POLLHUP in the set of requested
  events. The standard (SUSv2) says they will be delivered regardless
  of the event mask chosen.

- POLLERR is an output event, so we call only the write handler.

- POLLHUP is documented as an output event, but it sometimes signals
  events which we would like to process by the input handler. The
  situations when POLLHUP is generated include:

    *  on reading end of a pipe when the writing end has been closed
       -> we would like to call read handler and get EOF (write handler
       does not exist)

    *  on writing end of a pipe when the reading end has been closed
       -> we would like to call write handler (read handler does not
       exist)

    *  on a R/W socket when the other end has been closed -> better
       call read handler to get an EOF

    *  on a tty which has been hanged up -> probably the same as a R/W
       socket

  We have therefore decided to call the read handler, but fall back to
  the write handler if the read handler does not exist.

- When a handler decided to remove itself (but keep the main_file),
  we could have entered an infinite loop. This no longer happens.

12 years agoUCW::CGI: "; boundary=..." is also valid syntax
Martin Mares [Mon, 15 Aug 2011 11:27:50 +0000 (13:27 +0200)]
UCW::CGI: "; boundary=..." is also valid syntax

12 years agoUCW::CGI: Cosmetic changes in capitalization of HTTP headers
Martin Mares [Mon, 15 Aug 2011 08:27:54 +0000 (10:27 +0200)]
UCW::CGI: Cosmetic changes in capitalization of HTTP headers

12 years agofb-socket: Support shared fd's
Martin Mares [Sun, 31 Jul 2011 15:15:37 +0000 (17:15 +0200)]
fb-socket: Support shared fd's

12 years agoDoc: Updated release notes
Martin Mares [Sun, 31 Jul 2011 12:55:41 +0000 (14:55 +0200)]
Doc: Updated release notes

12 years agoUCW::CGI: Implemented UTF-8 mode (compatible with `use utf8')
Martin Mares [Sun, 31 Jul 2011 12:55:17 +0000 (14:55 +0200)]
UCW::CGI: Implemented UTF-8 mode (compatible with `use utf8')

12 years agoMerge branch 'dev-mainloop'
Martin Mares [Sun, 31 Jul 2011 12:44:25 +0000 (14:44 +0200)]
Merge branch 'dev-mainloop'

12 years agoMain recio: Constants seem to be OK, deleted FIXME
Martin Mares [Sun, 31 Jul 2011 12:42:59 +0000 (14:42 +0200)]
Main recio: Constants seem to be OK, deleted FIXME

13 years agoMain: Introduce functions for telling whether an object is active
Martin Mares [Thu, 9 Jun 2011 16:16:33 +0000 (18:16 +0200)]
Main: Introduce functions for telling whether an object is active

This is an useful idiom and it helps avoid calling clist_is_linked()
on private parts of the objects.

13 years agoMain recio: Allow rec_io_(start|stop)_read from the read_handler
Martin Mares [Thu, 9 Jun 2011 16:04:26 +0000 (18:04 +0200)]
Main recio: Allow rec_io_(start|stop)_read from the read_handler

This involves rescanning the read buffer on rec_io_start_read()
as there might be leftover data from previous invokations of the
read_handler.

However, we have to be careful to avoid arbitrarily deep recursion
of various handlers. We do that by deferring the actual start of
reading to a main_hook.

13 years agoMain: Moved hooks before recio
Martin Mares [Thu, 9 Jun 2011 15:15:08 +0000 (17:15 +0200)]
Main: Moved hooks before recio

13 years agoMain record-based I/O: documentation
Martin Mares [Thu, 9 Jun 2011 15:12:22 +0000 (17:12 +0200)]
Main record-based I/O: documentation

13 years agoMain record-based I/O: allow freeing of recio from read handlers
Martin Mares [Thu, 9 Jun 2011 14:51:15 +0000 (16:51 +0200)]
Main record-based I/O: allow freeing of recio from read handlers

13 years agoRemoved invalid usage on .NOTPARALLEL keyword in makefiles.
Pavel Charvat [Mon, 6 Jun 2011 08:49:31 +0000 (10:49 +0200)]
Removed invalid usage on .NOTPARALLEL keyword in makefiles.

13 years agoWhitespace cleanup.
Pavel Charvat [Wed, 18 May 2011 09:46:18 +0000 (11:46 +0200)]
Whitespace cleanup.

13 years agoMain record I/O: Flow control and a few bits of documentation
Martin Mares [Sun, 1 May 2011 23:49:59 +0000 (01:49 +0200)]
Main record I/O: Flow control and a few bits of documentation

13 years agoMain: Preliminary implementation of record-based I/O
Martin Mares [Sun, 1 May 2011 23:23:42 +0000 (01:23 +0200)]
Main: Preliminary implementation of record-based I/O

13 years agoDocs: Let eltpool and mempool refer to the corresponding resource functions
Martin Mares [Tue, 19 Apr 2011 13:55:41 +0000 (15:55 +0200)]
Docs: Let eltpool and mempool refer to the corresponding resource functions

13 years agoResources: Renamed respool.* -> resource.*
Martin Mares [Tue, 19 Apr 2011 13:47:34 +0000 (15:47 +0200)]
Resources: Renamed respool.* -> resource.*

13 years agoDoc: Note that gary.h is undocumented
Martin Mares [Tue, 19 Apr 2011 13:44:14 +0000 (15:44 +0200)]
Doc: Note that gary.h is undocumented

13 years agoResources: Added eltpool class
Martin Mares [Tue, 19 Apr 2011 13:42:58 +0000 (15:42 +0200)]
Resources: Added eltpool class

13 years agoEltpool: Fixed a doc typo
Martin Mares [Tue, 19 Apr 2011 13:42:41 +0000 (15:42 +0200)]
Eltpool: Fixed a doc typo

13 years agoResources: Added mempool class
Martin Mares [Tue, 19 Apr 2011 13:39:13 +0000 (15:39 +0200)]
Resources: Added mempool class

13 years agoFastbufs: More exceptions
Martin Mares [Tue, 19 Apr 2011 13:29:58 +0000 (15:29 +0200)]
Fastbufs: More exceptions

13 years agoTrans: Document which modules have to be resourcified
Martin Mares [Tue, 19 Apr 2011 13:20:21 +0000 (15:20 +0200)]
Trans: Document which modules have to be resourcified

13 years agoResources: res_new() requires an active pool
Martin Mares [Tue, 19 Apr 2011 13:16:33 +0000 (15:16 +0200)]
Resources: res_new() requires an active pool

The old behavior of returning NULL if called without an active pool
caused more fuss than it saved.

13 years agoTrans: Documented naming of exceptions
Martin Mares [Tue, 19 Apr 2011 13:14:24 +0000 (15:14 +0200)]
Trans: Documented naming of exceptions

13 years agoFastbufs: Clean up exception handling
Martin Mares [Tue, 19 Apr 2011 13:07:15 +0000 (15:07 +0200)]
Fastbufs: Clean up exception handling

All exceptions now reside in the "ucw.fb" namespace, bthrow() takes
care of adding this prefix.

"ucw.fb.eof" is used systematically, even at places when a read error
was reported previously.

Exceptions have been documented.

13 years agoFastbufs are not tied to resources automatically any longer
Martin Mares [Tue, 19 Apr 2011 12:46:26 +0000 (14:46 +0200)]
Fastbufs are not tied to resources automatically any longer

Explicit tying by fb_tie() should be used instead.

13 years agoResources: Allow res_free(NULL) and res_detach(NULL)
Martin Mares [Tue, 19 Apr 2011 12:44:46 +0000 (14:44 +0200)]
Resources: Allow res_free(NULL) and res_detach(NULL)

13 years agoTrans: trans_commit() calls rp_commit()
Martin Mares [Tue, 19 Apr 2011 12:34:44 +0000 (14:34 +0200)]
Trans: trans_commit() calls rp_commit()

13 years agoResources: Document that resource class callbacks are optional
Martin Mares [Tue, 19 Apr 2011 12:33:17 +0000 (14:33 +0200)]
Resources: Document that resource class callbacks are optional

13 years agoImplemented temporary resources
Martin Mares [Tue, 19 Apr 2011 12:32:05 +0000 (14:32 +0200)]
Implemented temporary resources

13 years agoDocumented ucw/string.h.
Martin Mares [Mon, 18 Apr 2011 21:05:21 +0000 (23:05 +0200)]
Documented ucw/string.h.

13 years agoAdded string functions for matching of prefixes and suffixes
Martin Mares [Mon, 18 Apr 2011 20:48:21 +0000 (22:48 +0200)]
Added string functions for matching of prefixes and suffixes

13 years agofb-grow: Updated documentation, so that our doc tools can digest it
Martin Mares [Mon, 18 Apr 2011 19:51:06 +0000 (21:51 +0200)]
fb-grow: Updated documentation, so that our doc tools can digest it

13 years agofb-grow: Fixed a stupid typo.
Pavel Charvat [Mon, 18 Apr 2011 13:08:37 +0000 (15:08 +0200)]
fb-grow: Fixed a stupid typo.

13 years agofb-grow: Renamed fbgrow_read_all() to fbgrow_get_buf().
Pavel Charvat [Mon, 18 Apr 2011 12:51:15 +0000 (14:51 +0200)]
fb-grow: Renamed fbgrow_read_all() to fbgrow_get_buf().

13 years agofb-grow: Added a function to read the whole buffer anytime.
Pavel Charvat [Mon, 18 Apr 2011 11:34:08 +0000 (13:34 +0200)]
fb-grow: Added a function to read the whole buffer anytime.

13 years agoTrans: more documentation
Martin Mares [Sun, 17 Apr 2011 19:00:33 +0000 (21:00 +0200)]
Trans: more documentation

13 years agoResource pools documented
Martin Mares [Sun, 17 Apr 2011 18:38:26 +0000 (20:38 +0200)]
Resource pools documented

13 years agoTrans: Fixed a couple of bugs in the previous commit
Martin Mares [Sun, 17 Apr 2011 17:24:04 +0000 (19:24 +0200)]
Trans: Fixed a couple of bugs in the previous commit

13 years agoTrans: New semantics of exceptions
Martin Mares [Sun, 17 Apr 2011 17:06:54 +0000 (19:06 +0200)]
Trans: New semantics of exceptions

Changed exception propagation rules according to the new semantics
documented in ucw/doc/trans.txt, which is based on transaction folding.

We avoid the (partially implemented) exception pool altogether, all
exceptions are just allocated from the pool of the current transaction,
and clever re-throwing rules make the pools last as long as they should.

Also, the current exception is kept track of in the current transaction
instead of the thread context.

13 years agoTrans: First bits of documentation
Martin Mares [Sun, 17 Apr 2011 16:26:37 +0000 (18:26 +0200)]
Trans: First bits of documentation

I have tried to document the complete logic of transactions,
including memory management details. It is however still far from
a complete documentation and the AsciiDoc formatting is also somewhat
obscure at the moment.

13 years agoResources: Implemented subpools
Martin Mares [Sun, 17 Apr 2011 15:21:53 +0000 (17:21 +0200)]
Resources: Implemented subpools

I also had to extend the pool/resource dumping functions, so that
they can print complex structures. All functions pass the amount
of indent to apply and the resource->dump callback is expected
to include a `\n' after its output.

13 years agoTrans: trans_open_rp() removed
Martin Mares [Sun, 17 Apr 2011 15:16:38 +0000 (17:16 +0200)]
Trans: trans_open_rp() removed

It did never make much sense, since the resource pool is automatically
destroyed when the transaction is over.

13 years agoResources: Simplified use of fb_tie()
Martin Mares [Sun, 17 Apr 2011 11:15:12 +0000 (13:15 +0200)]
Resources: Simplified use of fb_tie()

13 years agoResource pools: use LIKE_MALLOC attribute
Martin Mares [Sun, 17 Apr 2011 10:58:00 +0000 (12:58 +0200)]
Resource pools: use LIKE_MALLOC attribute

13 years agoAutomatic tests can't run in parallel.
Pavel Charvat [Tue, 29 Mar 2011 13:54:56 +0000 (15:54 +0200)]
Automatic tests can't run in parallel.

13 years ago* Fixed several bugs in fastbufs. * Implemented vdie(). * fb-grow can be allocated...
Pavel Charvat [Thu, 13 Nov 2008 14:21:44 +0000 (15:21 +0100)]
* Fixed several bugs in fastbufs. * Implemented vdie(). * fb-grow can be allocated from mempool... also added support for mixed R/W access

13 years agoFixes in fb-mmap.
Pavel Charvat [Wed, 29 Oct 2008 12:30:59 +0000 (13:30 +0100)]
Fixes in fb-mmap.

13 years agoFixed fb-atomic.
Pavel Charvat [Wed, 29 Oct 2008 12:21:57 +0000 (13:21 +0100)]
Fixed fb-atomic.

13 years agoImplemented first bits of transactions on fastbufs.
Pavel Charvat [Wed, 29 Oct 2008 12:10:19 +0000 (13:10 +0100)]
Implemented first bits of transactions on fastbufs.

13 years agoImplemented trans_vthrow().
Pavel Charvat [Wed, 3 Sep 2008 13:14:19 +0000 (15:14 +0200)]
Implemented trans_vthrow().

13 years agoImplemented exceptions.
Martin Mares [Wed, 3 Sep 2008 11:27:10 +0000 (13:27 +0200)]
Implemented exceptions.

13 years agoFirst rough implementation of transactions (no exceptions yet).
Martin Mares [Tue, 2 Sep 2008 21:17:53 +0000 (23:17 +0200)]
First rough implementation of transactions (no exceptions yet).