Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 14 Sep 2012 12:12:01 GMT
From:      Gergely Nagy <algernon@madhouse-project.org>
To:        freebsd-gnats-submit@FreeBSD.org
Subject:   ports/171640: New port: devel/libivykis Asynchronous I/O readiness notification library
Message-ID:  <201209141212.q8ECC1Mc043651@red.freebsd.org>
Resent-Message-ID: <201209141220.q8ECK7XS050955@freefall.freebsd.org>

next in thread | raw e-mail | index | archive | help

>Number:         171640
>Category:       ports
>Synopsis:       New port: devel/libivykis Asynchronous I/O readiness notification library
>Confidential:   no
>Severity:       non-critical
>Priority:       low
>Responsible:    freebsd-ports-bugs
>State:          open
>Quarter:        
>Keywords:       
>Date-Required:
>Class:          change-request
>Submitter-Id:   current-users
>Arrival-Date:   Fri Sep 14 12:20:07 UTC 2012
>Closed-Date:
>Last-Modified:
>Originator:     Gergely Nagy
>Release:        FreeBSD 9.0-RELEASE amd64
>Organization:
>Environment:
System: FreeBSD mazarbul 9.0-RELEASE FreeBSD 9.0-RELEASE #0: Tue Jan 3 07:46:30 UTC 2012 root@farrell.cse.buffalo.edu:/usr/obj/usr/src/sys/GENERIC amd64

>Description:
The ivykis library is a thin, portable wrapper around OS-provided
mechanisms such as epoll(4), kqueue(2), poll(2) and select(2). It was
mainly designed for building high-performance network applications,
but can be used in any event-driver application that uses pollable
file descriptors as its event sources.

Programs written to the ivykis API are generally single-threaded (or
use only a small number of threads), and never block on I/O. All
input and output is done in a nonblocking fashion, with I/O readiness
notification delivered via callback functions.

WWW: http://libivykis.sourceforge.net/

>How-To-Repeat:

>Fix:


Patch attached with submission follows:

# This is a shell archive.  Save it in a file, remove anything before
# this line, and then unpack it by entering "sh file".  Note, it may
# create directories; files and directories will be owned by you and
# have default permissions.
#
# This archive contains:
#
#	libivykis
#	libivykis/Makefile
#	libivykis/pkg-descr
#	libivykis/distinfo
#	libivykis/pkg-plist
#	libivykis/files
#	libivykis/files/patch-include-iv_tls.h
#	libivykis/files/patch-lib-iv_tls.c
#
echo c - libivykis
mkdir -p libivykis > /dev/null 2>&1
echo x - libivykis/Makefile
sed 's/^X//' >libivykis/Makefile << 'aea38fcefa967e68aeabbffc32622fe3'
X# Ports collection makefile for:	libivykis
X# Date created:		14 September 2012
X# Whom:			Gergely Nagy <algernon@madhouse-project.org>
X#
X# $FreeBSD$
X#
X
XPORTNAME=	libivykis
XPORTVERSION=	0.30.3
XCATEGORIES=	devel
XMASTER_SITES=	${MASTER_SITE_SOURCEFORGE}
XDISTNAME=	ivykis-${PORTVERSION}
X
XMAINTAINER=	algernon@madhouse-project.org
XCOMMENT=	Asynchronous I/O readiness notification library
X
XUSE_LDCONFIG=	yes
XGNU_CONFIGURE=	yes
XUSE_GNOME=	pkgconfig gnomehack
X
XMAN3=		IV_EVENT_INIT.3 \
X		IV_EVENT_RAW_INIT.3 \
X		IV_FD_PUMP_INIT.3 \
X		IV_POPEN_REQUEST_INIT.3 \
X		IV_SIGNAL_INIT.3 \
X		IV_WAIT_INTEREST_INIT.3 \
X		IV_WORK_ITEM_INIT.3 \
X		IV_WORK_POOL_INIT.3 \
X		iv_deinit.3 \
X		iv_event.3 \
X		iv_event_post.3 \
X		iv_event_raw.3 \
X		iv_event_raw_post.3 \
X		iv_event_raw_register.3 \
X		iv_event_raw_unregister.3 \
X		iv_event_register.3 \
X		iv_event_unregister.3 \
X		iv_examples.3 \
X		iv_fatal.3 \
X		iv_fd.3 \
X		iv_fd_pump.3 \
X		iv_fd_pump_destroy.3 \
X		iv_fd_pump_init.3 \
X		iv_fd_pump_is_done.3 \
X		iv_fd_pump_pump.3 \
X		iv_fd_register.3 \
X		iv_fd_register_try.3 \
X		iv_fd_set_handler_err.3 \
X		iv_fd_set_handler_in.3 \
X		iv_fd_set_handler_out.3 \
X		iv_fd_unregister.3 \
X		iv_init.3 \
X		iv_inited.3 \
X		iv_invalidate_now.3 \
X		iv_main.3 \
X		iv_popen.3 \
X		iv_popen_request_close.3 \
X		iv_popen_request_submit.3 \
X		iv_quit.3 \
X		iv_set_fatal_msg_handler.3 \
X		iv_signal.3 \
X		iv_signal_register.3 \
X		iv_signal_unregister.3 \
X		iv_task.3 \
X		iv_task_register.3 \
X		iv_task_unregister.3 \
X		iv_thread.3 \
X		iv_thread_create.3 \
X		iv_thread_set_debug_state.3 \
X		iv_time.3 \
X		iv_timer.3 \
X		iv_timer_register.3 \
X		iv_timer_unregister.3 \
X		iv_tls.3 \
X		iv_tls_user_ptr.3 \
X		iv_tls_user_register.3 \
X		iv_validate_now.3 \
X		iv_wait.3 \
X		iv_wait_interest_register.3 \
X		iv_wait_interest_register_spawn.3 \
X		iv_wait_interest_unregister.3 \
X		iv_work.3 \
X		iv_work_pool_create.3 \
X		iv_work_pool_put.3 \
X		iv_work_pool_submit_work.3 \
X		ivykis.3
X
X.include <bsd.port.mk>
aea38fcefa967e68aeabbffc32622fe3
echo x - libivykis/pkg-descr
sed 's/^X//' >libivykis/pkg-descr << '6023c19486f3e9a10b87f8149f39dfa8'
XThe ivykis library is a thin, portable wrapper around OS-provided
Xmechanisms such as epoll(4), kqueue(2), poll(2) and select(2). It was
Xmainly designed for building high-performance network applications,
Xbut can be used in any event-driver application that uses pollable
Xfile descriptors as its event sources.
X
XPrograms written to the ivykis API are generally single-threaded (or
Xuse only a small number of threads), and never block on I/O. All
Xinput and output is done in a nonblocking fashion, with I/O readiness
Xnotification delivered via callback functions.
X
XWWW: http://libivykis.sourceforge.net/
6023c19486f3e9a10b87f8149f39dfa8
echo x - libivykis/distinfo
sed 's/^X//' >libivykis/distinfo << '7825ca66059a971f63a90fd9df0b4b68'
XSHA256 (ivykis-0.30.3.tar.gz) = 64ab3b92a1ec5ad87e35590c7f50c96462b3f4b0d9e10d79252ca1f410131eb2
XSIZE (ivykis-0.30.3.tar.gz) = 406373
7825ca66059a971f63a90fd9df0b4b68
echo x - libivykis/pkg-plist
sed 's/^X//' >libivykis/pkg-plist << 'e3658f1ebcd8edf5fdbee3f2d5653838'
Xinclude/iv.h
Xinclude/iv_avl.h
Xinclude/iv_event.h
Xinclude/iv_event_raw.h
Xinclude/iv_fd_pump.h
Xinclude/iv_list.h
Xinclude/iv_popen.h
Xinclude/iv_signal.h
Xinclude/iv_thread.h
Xinclude/iv_tls.h
Xinclude/iv_wait.h
Xinclude/iv_work.h
Xlib/libivykis.a
Xlib/libivykis.la
Xlib/libivykis.so
Xlib/libivykis.so.1
Xlibdata/pkgconfig/ivykis.pc
e3658f1ebcd8edf5fdbee3f2d5653838
echo c - libivykis/files
mkdir -p libivykis/files > /dev/null 2>&1
echo x - libivykis/files/patch-include-iv_tls.h
sed 's/^X//' >libivykis/files/patch-include-iv_tls.h << '1d98af0c419d98fce69e09af28cfb2f6'
X--- lib/include/iv_tls.h.old
X+++ lib/include/iv_tls.h
X@@ -33,7 +33,7 @@ struct iv_tls_user {
X 	void		(*deinit_thread)(void *st);
X 
X 	struct iv_list_head	list;
X-	off_t			state_offset;
X+	int			state_offset;
X };
X 
X void iv_tls_user_register(struct iv_tls_user *);
1d98af0c419d98fce69e09af28cfb2f6
echo x - libivykis/files/patch-lib-iv_tls.c
sed 's/^X//' >libivykis/files/patch-lib-iv_tls.c << '95f710d2115ad026df9ee5729506012f'
X--- lib/iv_tls.c.old
X+++ lib/iv_tls.c
X@@ -25,7 +25,7 @@
X #include "iv_private.h"
X 
X static int inited;
X-static off_t last_offset = (sizeof(struct iv_state) + 15) & ~15;
X+static int last_offset = (sizeof(struct iv_state) + 15) & ~15;
X static struct iv_list_head iv_tls_users = IV_LIST_HEAD_INIT(iv_tls_users);
X 
X void iv_tls_user_register(struct iv_tls_user *itu)
95f710d2115ad026df9ee5729506012f
exit



>Release-Note:
>Audit-Trail:
>Unformatted:



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201209141212.q8ECC1Mc043651>