FreshPorts -- The Place For Ports If you buy from Amazon USA, please support us by using this link.
Follow us

I am looking for an LTO tape library. Do you have one to spare?
Commit found by message id
Wed, 22 Feb 2006
[ 23:47:28 mux ] Original commit 
csup net  Deleted Deprecated Expired Ignore files touched by this commit A rewrite of the CVSup file updating client in C
Update to csup-snap-20060223 (biggest changelog ever!):

- Finally implement fixups and use them in the detailer and updater
  thread as appropriate.  We now longer crash/hang when there is an MD5
  checksum error, but request a fixup (or fail, if the checksum error is
  from a fixup).
- Portability fix: don't use SIZE_T_MAX when ~0 will do fine.
- Plug a memory leak in keyword_prepare().
- Fix the build without assertions.
- Properly check for the success of the asynchronous connect() when we've
  been interrupted by a signal.  Move the logic into proto_waitconnect().
- Properly print transport layer addresses with getnameinfo() and the
  NI_NUMERICHOST flag.  We were printing garbage...
- Assert that we're never printing a NULL string in proto_printf().
- Make sure we disallow 0-length fields in proto_get_ascii() or all sorts
  of bad things will happen.  Also remove a useless check.
- In statusrec_cook(), there is nothing left to parse for DirDown
  entries, however we have to check that there was nothing left in the
  line, or return an error if it's not the case.
- Restore the original string upon error in fattr_scanattr(), called by
  fattr_encode() only.
- The struct diff used by diff_apply() and keyword_expand() has been
  rename to struct diffinfo, and it now only contains the metadata
  of a diff.  This changes the prototype for the two aforementioned
  functions, so update the code and the consumers appropriately.
- Create the worker threads in the detached state since we don't use
  pthread_join() to wait for them but have our own API for that (which
  allows us to wait for multiple threads).
- Move the fattr_init() and fattr_fini() calls earlier to avoid calling
  them several times during a run.
- When printing the "Connected to" message, print the actual address we
  are connected.  This makes us deviate slightly from CVSup, but since
  csup tries any address returned by a host (including IPv6 addresses),
  we really need to know where we connected.
- Make the errors/error messages handling much nicer in the status file
  API.  Nearly all the asprintf() calls are centralized now.
- Before entering multi-threaded mode, starts a "killer" thread that
  will spend most of his time blocking in sigwait() and will call
  mux_shutdown() to nicely abort the run in case we get a fatal signal.
- Remove the need for the "closing" condition variable in
  mux_shutdown(), we are now handling the race it protected against
  much more sanely.  We just disable cancellation in the "killer" thread
  before calling mux_shutdown() and re-enable it afterwards.  This way,
  we can stop the killer thread at any time and after having joined it
  we know it is safe to call mux_close() since there are no more
  references to it but us.
- Update the lister, detailer and updater threads to correctly check for
  error on read/write/parsing.  Generate a proper error message in each
  case and return it back to the main thread, along with a status code
  indicating either success, failure or a transient failure.
- Always call status_close() in the updater thread, to ensure that the
  status file is properly updated even if we are being interrupted by an
- Slightly tweak the threads API to make it match our needs more closely.
- Add a few useful comments here and there.
- Rename proto_init() to the more correct proto_run() name.
- Use the status code returned by the worker thread to only retry a run
  when we had a transient error, and to return a proper exit code at the
  end of the program's execution.
- Many minor stuff.

All those changes allow csup to properly handle any synchronous or
asynchronous error and to print meaningul messages nearly all the time,
without duplicated messages.  Hangs should not happen anymore, even in
case of an error.  We also correctly handle being sent some signals such
as SIGINT, by correctly updating the status file and cleaning after us,
so ^C is usable.  Finally, csup now returns a proper exit code: 0 in case
of success or 1 in case of an error, similarly to CVSup.  Oh, and since
fixups are now supported, I'd call csup "production ready", module the
bugs I have introduced.

Please give this version as much testing as you can!

Number of ports [& non-ports] in this commit: 1

Showing files for just one port: net/csup

show all files

hide all files

2 files found
modify 1.8 View diff View revision /ports/head/net/csup/Makefile
modify 1.7 View diff View revision /ports/head/net/csup/distinfo
User Login
Create account

Servers and bandwidth provided by
New York Internet, SuperNews, and RootBSD

This site
What is FreshPorts?
About the authors
How big is it?
The latest upgrade!

Enter Keywords:

Latest Vulnerabilities
firefoxJul 23
firefox-develJul 23
firefox-esrJul 23
firefox10Jul 23
firefox15Jul 23
firefox3Jul 23
firefox3-develJul 23
firefox35Jul 23
firefox36Jul 23
linux-firefoxJul 23
linux-thunderbirdJul 23
nssJul 23
thunderbirdJul 23
thunderbird-esrJul 23
thunderbird3Jul 23

8 vulnerabilities affecting 24 ports have been reported in the past 14 days

* - modified, not new

All vulnerabilities

Deleted ports
Sanity Test Failures

NEW Graphs (Javascript)

Calculated hourly:
Port count 24425
Broken 194
Deprecated 686
Ignore 529
Forbidden 16
Restricted 263
No CDROM 102
Vulnerable 27
Expired 21
Set to expire 673
Interactive 13
new 24 hours 3
new 48 hours5
new 7 days19
new fortnight49
new month106

Servers and bandwidth provided by
New York Internet, SuperNews, and RootBSD
Valid HTML, CSS, and RSS.
Copyright © 2000-2014 Dan Langille. All rights reserved.