/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */ /* * Author : * Bertrand Guiheneuf * * Copyright 1999, 2000 Helix Code, Inc. (http://www.helixcode.com) * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public License as * published by the Free Software Foundation; either version 2 of the * License, or (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 * USA */ /* MT safe */ #include #include "camel-op-queue.h" static GStaticMutex op_queue_mutex = G_STATIC_MUTEX_INIT; /** * camel_op_queue_new: create a new operation queue * * Create a new operation queue. * * Return value: the newly allcated object **/ CamelOpQueue * camel_op_queue_new () { CamelOpQueue *op_queue; op_queue = g_new (CamelOpQueue, 1); op_queue->ops_tail = NULL; op_queue->ops_head = NULL; op_queue->service_available = TRUE; return op_queue; } void camel_op_queue_free (CamelOpQueue *op_queue) { g_list_free (op_queue->ops_head); g_free (op_queue); } /** * camel_op_queue_push_op: Add an operation to the queue * @queue: queue object * @op: operation to add * * Add an operation to an operation queue. * The queue is a FIFO queue. **/ void camel_op_queue_push_op (CamelOpQueue *queue, CamelOp *op) { g_assert (queue); g_static_mutex_lock (&op_queue_mutex); if (!queue->ops_tail) { queue->ops_head = g_list_prepend (NULL, op); queue->ops_tail = queue->ops_head; } else queue->ops_head = g_list_prepend (queue->ops_head, op); g_static_mutex_unlock (&op_queue_mutex); } /** * camel_op_queue_pop_op: Pop the next operation pending in the queue * @queue: queue object * * Pop the next operation pending in the queue. * * Return value: **/ CamelOp * camel_op_queue_pop_op (CamelOpQueue *queue) { GList *op_list; CamelOp *op; g_assert (queue); g_static_mutex_lock (&op_queue_mutex); op_list = queue->ops_tail; if (!op_list) return NULL; queue->ops_tail = queue->ops_tail->prev; op = (CamelOp *)op_list->data; g_static_mutex_unlock (&op_queue_mutex); return op; } /** * camel_op_queue_run_next_op: run the next pending operation * @queue: queue object * * Run the next pending operation in the queue. * * Return value: TRUE if an operation was launched FALSE if there was no operation pending in the queue. **/ gboolean camel_op_queue_run_next_op (CamelOpQueue *queue) { CamelOp *op; op = camel_op_queue_pop_op (queue); if (!op) return FALSE; return FALSE; } /** * camel_op_queue_set_service_availability: set the service availability for an operation queue * @queue: queue object * @available: availability flag * * set the service availability **/ void camel_op_queue_set_service_availability (CamelOpQueue *queue, gboolean available) { g_static_mutex_lock (&op_queue_mutex); queue->service_available = available; g_static_mutex_unlock (&op_queue_mutex); } /** * camel_op_queue_get_service_availability: determine if an operation queue service is available * @queue: queue object * * Determine if the service associated to an operation queue is available. * * Return value: service availability. **/ gboolean camel_op_queue_get_service_availability (CamelOpQueue *queue) { gboolean available; g_static_mutex_lock (&op_queue_mutex); available = queue->service_available; g_static_mutex_unlock (&op_queue_mutex); return available; } ctron6/files/node-fetch-2.6.1 FreeBSD GNOME current development ports (https://github.com/freebsd/freebsd-ports-gnome)
aboutsummaryrefslogtreecommitdiffstats
Commit message (Expand)AuthorAgeFilesLines
* - Mark IGNORE on sparc64ahze2006-04-171-1/+1
* - Mark IGNORE on sparc64 since it core dumps at startupahze2006-04-171-1/+1
* - Update to 1.5.0.2ahze2006-04-142-5/+4
* - Convert all gecko pkg-[de]install scripts into a genericahze2006-03-302-21/+1
* Fix a problem where Firefox creates its ~/.mozilla directory using stackmarcus2006-02-202-0/+20
* - Remove forgotten patchahze2006-02-021-58/+0
* - Update to 1.5.0.1ahze2006-02-0213-140/+5
* Firefox may hang for some users for a few seconds at a time eating up allmarcus2006-02-022-1/+59
* Only enable SVG support on 6.X and higher since it's still causing GCCmarcus2005-12-161-1/+1
* - Add a patch to fix history DoS vulnerabilityahze2005-12-092-1/+104
* - Add support for GECKO_PLIST_PRE_FILES and GECKO_PLIST_PRE_DIRS toahze2005-12-051-8/+5
* - Move .include "${.CURDIR}/../mozilla/Makefile.common" to the bottom soahze2005-12-041-1/+1
* - Disable svg support on 5.3 and lower to fix build with a gcc bug.ahze2005-12-021-2/+4
* Fix all those ports to find libnssckbi.so in the correct place to allow thosemezz2005-12-021-1/+1
* - Bump PORTREVISIONahze2005-12-011-1/+1
* - Reenable svg support, this must've sliped with all the massive changes.ahze2005-12-011-0/+1
* - Fix desktop entry, there's no FF_SUFX anymorepav2005-11-302-1/+2
* - Update WWWahze2005-11-301-1/+1
* - Update firefox to 1.5ahze2005-11-3031-1504/+105
* - Add SHA256 checksumspav2005-11-241-0/+1
* - Add support for new lib/browser_linux_pluginsahze2005-11-151-2/+2
* Bump PORTREVISION to chase the glib20 shared library update.marcus2005-11-051-1/+1
* Partially revert the previous commit. Firefox can only build with specificmarcus2005-10-102-2/+2
* * Add support of ports-installed Kerberos [1]marcus2005-10-102-3/+5
* - Fix the sed for libesd and kill the major version of librarymezz2005-09-241-7/+4
* Update to 1.0.7. Seemarcus2005-09-224-125/+20
* - Patch a security vulnerability (DoS, remote execution) in IDNpav2005-09-112-1/+105
* Add support for CJK font family names. This makes for a better browsingmarcus2005-09-022-1/+13
* - Make portlint happier.mezz2005-08-2817-327/+408
* Install IDL files into ${PREFIX}/share/idl/firefox.marcus2005-07-301-0/+11
* - Update to 1.0.6ahze2005-07-203-12/+3
* Use ${PORTVERSION} instead of duplicating its value in the MASTER_SITE_SUBDIR.marcus2005-07-141-1/+1
* Update to 1.0.5. This release addresses numerous security bugs as well asmarcus2005-07-142-4/+4
* - Update to 1.0.4ahze2005-05-122-4/+4
* - Install .desktop file in share/applications instead ofahze2005-04-271-6/+4
* - Update to 1.0.3ahze2005-04-162-5/+5
* - Remove mng support, it doesn't workahze2005-04-142-4/+2
* * Update to 1.0.2 to fix security issues (seemarcus2005-03-253-11/+14
* Bump PORTREVISION to chase the glib20 shared lib version change.marcus2005-03-121-1/+1
* Update freetype2 to 2.1.9, and patch Mozilla and friends accordingly.marcus2005-03-102-1/+343
* Fix the startup script so that arguments are passed correctly to the browsermarcus2005-03-022-123/+80
* Re-add support for specifying a profile using the -P option.marcus2005-02-281-3/+12
* Add a Mozilla Mozilla Plugable Init Script (PIS) to handle automaticallymarcus2005-02-262-1/+47
* * Update to 1.0.1 (see http://www.mozilla.org/products/firefox/releases/ formarcus2005-02-255-62/+733
* Correct a typo that prevented the Firefox Ruby script from being addedmarcus2005-01-031-2/+2
* - Update pkg-descr to better reflect firefoxahze2004-12-292-6/+12
* - Remove WITH_NEW_ICON knobahze2004-12-283-10/+24
* - Add EXTRACT_AFTER_ARGS to speed up extract a littleahze2004-12-151-0/+7
* * Fix build with upcoming X.Org 6.8.1 [1]marcus2004-12-153-1/+15
* Add Encoding type to desktop file to validate via desktop-file-validateahze2004-12-131-0/+1
* Bump PORTREVISION for plist changesahze2004-12-111-1/+1
* - Fix plist in firefox [1]ahze2004-12-111-0/+3
* Fix plist by fixing the way EXTRA_SCRIPTS (bin/firefox.rb) is added to plist.ahze2004-12-101-1/+1
* Be sure to create the browser_plugins during package install as well. Somemarcus2004-12-042-0/+5
* Use -Bsymbolic when linking nss to avoid symbol conflicts with librariesmarcus2004-11-222-6/+20
* Fix a patch.mezz2004-11-211-1/+1
* Instead of using Xvfb, and evil black magic to create the extensionsmarcus2004-11-192-6/+2
* Fix pkg-config files by re-adding REINPLACE_CMD lineahze2004-11-151-1/+2
* Change the Firefox installation directory to be more manageable. Now,ahze2004-11-133-81/+108
* * Update to 1.0marcus2004-11-104-10/+26
* Bump PORTREVISIONS for all ports that depend on atk or pango to ease in themarcus2004-11-081-0/+1
* update to 1.0.r2ahze2004-11-062-5/+5
* Update to 1.0.r (aka 1.0 Release Candidate 1). So far, the release notes havemarcus2004-10-294-24/+8
* Essentially a NOP commit. The xpcom reflect patches for amd64 supportpeter2004-10-242-389/+1
* * Remove some patches that are no longer neededmarcus2004-10-185-39/+13
* Check PERL_LEVEL and not OSVERSION when deciding if we need to use the extramarcus2004-10-141-1/+1
* Bump PORTREVISION for the last commit since it re-enables remote executionmarcus2004-10-141-1/+1
* Add a patch that was forgotten in the 1.0.1.p update.marcus2004-10-141-0/+10
* Fix build with Perl 5.00503.marcus2004-10-142-0/+14
* * Update to 1.0.1.p (aka 0.10.1, aka 1.0PR)marcus2004-10-1210-161/+23
* Patch the various recently reported security vulnerabilities in Mozilla.marcus2004-09-284-0/+101
* Update to 0.9.3 to fix a few security issues:marcus2004-08-063-4/+29
* Fix global extension and theme installation by making sure the path to themarcus2004-07-282-0/+18
* Fix DEBUG builds by checking for all error states from pthread_mutex_trylock().marcus2004-07-271-0/+11
* Update to 0.9.1.marcus2004-06-302-4/+3
* * Add optional support for gnome-vfs support (e.g. smb:// and sftp:// URLs) [1]marcus2004-06-254-3/+51
* Add a post-rendered Extensions.rdf so that the default theme and extensionmarcus2004-06-203-5/+45
* Add a patch to run g_thread_init() as soon as Firefox starts. This is saidmarcus2004-06-192-0/+20
* * Try a little harder to get firefox to work without first running as rootmarcus2004-06-193-25/+24
* The warning about running as root first is no longer needed since themarcus2004-06-171-14/+0
* Fix the link to firefox-config.marcus2004-06-171-2/+3
* Fix a typo in the pkg-install script, and add a hack so that firefox does notmarcus2004-06-162-2/+6
* Update to 0.9. For a complete list of what's new, plus an importantmarcus2004-06-168-64/+89
* Perl is only needed for building this.trevor2004-04-071-1/+1
* Chase the glib20 update, and bump all affected ports' PORTREVISIONs.marcus2004-04-051-1/+1
* Borrow from the OpenLDAP ports, and refuse to build if bind has beenmarcus2004-03-191-0/+6
* Fix build with freetype2-2.1.7.marcus2004-03-171-0/+12
* Chase the new location of libXft.marcus2004-03-171-1/+1
* If building with debugging, don't enable binary stripping.marcus2004-03-051-1/+2
* Fix up the port-install substitutions so that we operate on the correct files.marcus2004-02-141-2/+2
* Remove the ugly libnspr hack, and be a little more clever when addingmarcus2004-02-132-5/+41
* Fix the window ID in firefox.rb (new PORTREVISION).trevor2004-02-132-2/+2
* Add a symlink from libnspr4.so to libnspr4.so.1 in the LOCAL_PREFIX tomarcus2004-02-121-0/+3
* * Add ${LOCALBASE} to the list of include and lib search paths so we canmarcus2004-02-121-5/+7
* Avoid REINPLACE_CMD dependency.trevor2004-02-121-6/+6
* We don't need to use "touch" to make an empty PLIST file.trevor2004-02-121-1/+0
* Add comments explaining the installation process.trevor2004-02-121-0/+7
* Don't install unnecessary MacOS/Windows-related material.trevor2004-02-121-0/+6
* * Fix broken installation (grrr..this fake thing is more trouble than it'smarcus2004-02-122-12/+26
* Backuo the previous commit before anyone notices. I have a big patch comingmarcus2004-02-122-2/+2
* Fix accidental change of %%PREFIX%% to %PREFIX%% intrevor2004-02-122-2/+2
* Fix a bug where @PREFIX@ was being substituted with the fake package prefixmarcus2004-02-111-1/+2
* * Import the JPI_LIST changes from www/mozilla so that multiple JPI versionsmarcus2004-02-112-6/+15
* Add Firefox after a repo copy from mozilla-firebird. Firefox is the nextmarcus2004-02-11