src/server/twitmanager.c
int removefromtwitmanager( struct twitmanager * restrict tm, 
		twitmanagercursor_t * restrict cursor ){
	// Validate the parameters
	if ( tm == NULL || cursor == NULL ){
		errno = EINVAL;
		return ( -1 );
	}

	// Acquire ownership of the twit manager
	acquire_twitmanager( tm );

	// To remove a hearer the node for its twitpool must be removed 
	( void )removefromtwitpoollist( &tm->tm_list, *cursor );

	// Release ownership of the twit manager
	release_twitmanager( tm );

	return ( 0 );
}
// Unregister a hearer's identifier from the twit manager
Unregister a hearer's identifier from the twit manager
Unregister a hearer ' s identifier from the twit manager
int removefromtwitmanager( struct twitmanager * restrict tm, 
		twitmanagercursor_t * restrict cursor ){
	if ( tm == NULL || cursor == NULL ){
		errno = EINVAL;
		return ( -1 );
	}
	acquire_twitmanager( tm );
	( void )removefromtwitpoollist( &tm->tm_list, *cursor );
	release_twitmanager( tm );
	return ( 0 );
}
int removefromtwitmanager ( struct twitmanager * restrict tm , twitmanagercursor_t * restrict cursor ) { if ( tm == NULL || cursor == NULL ) { errno = EINVAL ; return ( -1 ) ; } acquire_twitmanager ( tm ) ; ( void ) removefromtwitpoollist ( & tm -> tm_list , * cursor ) ; release_twitmanager ( tm ) ; return ( 0 ) ; }
Unregister a hearer's identifier from the twit manager
Unregister a hearer ' s identifier from the twit manager
// Validate the parameters // Acquire ownership of the twit manager // To remove a hearer the node for its twitpool must be removed  // Release ownership of the twit manager