Since the async loggers and appenders will wait until their queue has been 
cleared by the background thread, it is a blocking call. 

We should probably add a sentence to the java doc to clarify this.  

Sent from my iPhone

> On 2016/01/26, at 18:15, Mikael Ståldal <[email protected]> wrote:
> 
> I think that we should be clear, in Javadoc, about whether this new method is 
> synchronous/blocking or not.
> 
> (I could say the same about quite a few existing methods as well, but let's 
> at least start to be clear about new methods from now.)
> 
>> On Tue, Jan 26, 2016 at 1:31 AM, Matt Sicker <[email protected]> wrote:
>> I like it!
>> 
>>> On 25 January 2016 at 18:23, Ralph Goers <[email protected]> wrote:
>>> Then the method name would be terminate?  I could live with that.  I also 
>>> like the fact that when something goes wrong with it then it would be 
>>> interminable ;-)
>>> 
>>> Ralph
>>> 
>>>> On Jan 25, 2016, at 5:18 PM, Matt Sicker <[email protected]> wrote:
>>>> 
>>>> How about Terminable? It's even a real word to boot.
>>>> 
>>>> On 25 January 2016 at 18:15, Ralph Goers <[email protected]> 
>>>> wrote:
>>>>> Yes, well - Serializable actually sounds like it should be a real word. 
>>>>> Shutdownable doesn’t - in fact, my mail editor just split it into two 
>>>>> words to “help” me. I take a different view. A class that declares it 
>>>>> implements an interface isn’t “capable” of anything - it just implements 
>>>>> the interface. The interface name is what tells you that the implementing 
>>>>> class is able to do something, which is why you have Comparable instead 
>>>>> of just Compare, Cloneable instead of just Clone,  or Closeable instead 
>>>>> of just Close. Would you want Stop instead of Stoppable?  I view “able” 
>>>>> as just a shorthand way of saying “Capable”, but unfortunately that just 
>>>>> doesn’t sound right with Shutdown (at least to me).
>>>>> 
>>>>> Here are some “able” alternatives - presumably each would have a 
>>>>> corresponding method name instead of shutdown:
>>>>> Terminateable.
>>>>> Completeable.
>>>>> Concludeable.
>>>>> Haltable.
>>>>> Dismissable.
>>>>> Expireable.
>>>>> 
>>>>> I suppose we could also use Stoppable but that seems odd since stop is 
>>>>> part of Lifecycle.
>>>>> 
>>>>> Got a preference?
>>>>> 
>>>>> Ralph
>>>>> 
>>>>> 
>>>>> 
>>>>>> On Jan 25, 2016, at 4:35 PM, Gary Gregory <[email protected]> wrote:
>>>>>> 
>>>>>> I see some interfaces with "*Capable*" in the name here and there in the 
>>>>>> FOSS world (but not in the JRE) so I am a little more comfortable with 
>>>>>> it. 
>>>>>> 
>>>>>> I still see plain old "Shutdown" as simpler. 
>>>>>> 
>>>>>> I think I've boiled down my feel for this name to the fact that the 
>>>>>> Capable postfix is redundant since a class implementing any interface is 
>>>>>> "capable" of that functionality. IOW we have Serializable vs. 
>>>>>> SerializationCabable, which means the same thing.
>>>>>> 
>>>>>> Gary
>>>>>> 
>>>>>>> On Mon, Jan 25, 2016 at 7:27 AM, Ralph Goers 
>>>>>>> <[email protected]> wrote:
>>>>>>> What does it feel weird to you?  To be honest, I originally named the 
>>>>>>> interface ‘Shutdown” and then changed it since it really is about 
>>>>>>> implementing a behavior and “Shutdown” alone doesn’t really describe 
>>>>>>> that.
>>>>>>> 
>>>>>>> Ralph
>>>>>>> 
>>>>>>>> On Jan 24, 2016, at 11:09 PM, Gary Gregory <[email protected]> 
>>>>>>>> wrote:
>>>>>>>> 
>>>>>>>>> On Sun, Jan 24, 2016 at 10:07 PM, Gary Gregory 
>>>>>>>>> <[email protected]> wrote:
>>>>>>>>>> On Sun, Jan 24, 2016 at 1:54 PM, Ralph Goers 
>>>>>>>>>> <[email protected]> wrote:
>>>>>>>>>> Yes, Shutdownable is too weird. 
>>>>>>>>> 
>>>>>>>>> How about calling it simply "Shutdown" then? FooCapable feels weird 
>>>>>>>>> to me.
>>>>>>>>> 
>>>>>>>>> Can anyone think of other (one-method or not) optional feature-like 
>>>>>>>>> interfaces in the JRE or other code base?
>>>>>>>> 
>>>>>>>> hm... ShutdownService?
>>>>>>>> 
>>>>>>>> Gary
>>>>>>>>  
>>>>>>>>> 
>>>>>>>>> Gary
>>>>>>>>> 
>>>>>>>>>> Closeable would imply there is a close method, not a shutdown 
>>>>>>>>>> method.  I have my doubts about the try-with-resources use case 
>>>>>>>>>> here.  Virtually all usages are probably going to be to disable 
>>>>>>>>>> automatic shutdown and then the user placing the shutdown call 
>>>>>>>>>> somewhere they can control, which probably will have nothing to do 
>>>>>>>>>> with initialization of logging. 
>>>>>>>>>> 
>>>>>>>>>> Ralph
>>>>>>>>>> 
>>>>>>>>>>> On Jan 24, 2016, at 2:43 PM, Gary Gregory <[email protected]> 
>>>>>>>>>>> wrote:
>>>>>>>>>>> 
>>>>>>>>>>> Resending, got a error from my phone...
>>>>>>>>>>> 
>>>>>>>>>>> ---------- Forwarded message ----------
>>>>>>>>>>> From: "Gary Gregory" <[email protected]>
>>>>>>>>>>> Date: Jan 24, 2016 1:41 PM
>>>>>>>>>>> Subject: Re: logging-log4j2 git commit: LOG4J2-124 - Add shutdown 
>>>>>>>>>>> methods to LogManager
>>>>>>>>>>> To: <[email protected]>
>>>>>>>>>>> Cc: 
>>>>>>>>>>> 
>>>>>>>>>>> Hi all,
>>>>>>>>>>> 
>>>>>>>>>>> Any reason not use the usual -able postfix instead of 
>>>>>>>>>>> ShutdownCapable: Shutdownable sounds too weird? What about reusing 
>>>>>>>>>>> plain old Closeable? That means you could use the context in a 
>>>>>>>>>>> try-with-resources block, a bonus.
>>>>>>>>>>> 
>>>>>>>>>>> Gary 
>>>>>>>>>>> 
>>>>>>>>>>>> On Jan 24, 2016 10:18 AM, <[email protected]> wrote:
>>>>>>>>>>>> Repository: logging-log4j2
>>>>>>>>>>>> Updated Branches:
>>>>>>>>>>>>   refs/heads/master 7d3aac4b9 -> 2df3f0e72
>>>>>>>>>>>> 
>>>>>>>>>>>> 
>>>>>>>>>>>> LOG4J2-124 - Add shutdown methods to LogManager
>>>>>>>>>>>> 
>>>>>>>>>>>> 
>>>>>>>>>>>> Project: http://git-wip-us.apache.org/repos/asf/logging-log4j2/repo
>>>>>>>>>>>> Commit: 
>>>>>>>>>>>> http://git-wip-us.apache.org/repos/asf/logging-log4j2/commit/2df3f0e7
>>>>>>>>>>>> Tree: 
>>>>>>>>>>>> http://git-wip-us.apache.org/repos/asf/logging-log4j2/tree/2df3f0e7
>>>>>>>>>>>> Diff: 
>>>>>>>>>>>> http://git-wip-us.apache.org/repos/asf/logging-log4j2/diff/2df3f0e7
>>>>>>>>>>>> 
>>>>>>>>>>>> Branch: refs/heads/master
>>>>>>>>>>>> Commit: 2df3f0e7262c90e3fe1700f053eebf18491650d9
>>>>>>>>>>>> Parents: 7d3aac4
>>>>>>>>>>>> Author: Ralph Goers <[email protected]>
>>>>>>>>>>>> Authored: Sun Jan 24 11:18:41 2016 -0700
>>>>>>>>>>>> Committer: Ralph Goers <[email protected]>
>>>>>>>>>>>> Committed: Sun Jan 24 11:18:41 2016 -0700
>>>>>>>>>>>> 
>>>>>>>>>>>> ----------------------------------------------------------------------
>>>>>>>>>>>>  .../org/apache/logging/log4j/LogManager.java    | 62 
>>>>>>>>>>>> ++++++++++++++++++++
>>>>>>>>>>>>  .../logging/log4j/spi/ShutdownCapable.java      | 17 ++++++
>>>>>>>>>>>>  .../apache/logging/log4j/LogManagerTest.java    |  7 +++
>>>>>>>>>>>>  .../logging/log4j/core/LoggerContext.java       |  8 ++-
>>>>>>>>>>>>  4 files changed, 93 insertions(+), 1 deletion(-)
>>>>>>>>>>>> ----------------------------------------------------------------------
>>>>>>>>>>>> 
>>>>>>>>>>>> 
>>>>>>>>>>>> http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/2df3f0e7/log4j-api/src/main/java/org/apache/logging/log4j/LogManager.java
>>>>>>>>>>>> ----------------------------------------------------------------------
>>>>>>>>>>>> diff --git 
>>>>>>>>>>>> a/log4j-api/src/main/java/org/apache/logging/log4j/LogManager.java 
>>>>>>>>>>>> b/log4j-api/src/main/java/org/apache/logging/log4j/LogManager.java
>>>>>>>>>>>> index f10e5a8..64c6ee5 100644
>>>>>>>>>>>> --- 
>>>>>>>>>>>> a/log4j-api/src/main/java/org/apache/logging/log4j/LogManager.java
>>>>>>>>>>>> +++ 
>>>>>>>>>>>> b/log4j-api/src/main/java/org/apache/logging/log4j/LogManager.java
>>>>>>>>>>>> @@ -27,6 +27,7 @@ import 
>>>>>>>>>>>> org.apache.logging.log4j.simple.SimpleLoggerContextFactory;
>>>>>>>>>>>>  import org.apache.logging.log4j.spi.LoggerContext;
>>>>>>>>>>>>  import org.apache.logging.log4j.spi.LoggerContextFactory;
>>>>>>>>>>>>  import org.apache.logging.log4j.spi.Provider;
>>>>>>>>>>>> +import org.apache.logging.log4j.spi.ShutdownCapable;
>>>>>>>>>>>>  import org.apache.logging.log4j.status.StatusLogger;
>>>>>>>>>>>>  import org.apache.logging.log4j.util.LoaderUtil;
>>>>>>>>>>>>  import org.apache.logging.log4j.util.PropertiesUtil;
>>>>>>>>>>>> @@ -285,6 +286,67 @@ public class LogManager {
>>>>>>>>>>>>      }
>>>>>>>>>>>> 
>>>>>>>>>>>>      /**
>>>>>>>>>>>> +     * Shutdown using the default LoggerContext.
>>>>>>>>>>>> +     * @since 2.6
>>>>>>>>>>>> +     */
>>>>>>>>>>>> +    public static void shutdown() {
>>>>>>>>>>>> +        shutdown(getContext());
>>>>>>>>>>>> +    }
>>>>>>>>>>>> +
>>>>>>>>>>>> +    /**
>>>>>>>>>>>> +     * Shutdown the logging system if the logging system supports 
>>>>>>>>>>>> it.
>>>>>>>>>>>> +     * @param currentContext if true the LoggerContext for the 
>>>>>>>>>>>> caller of this method will be used.
>>>>>>>>>>>> +     * @since 2.6
>>>>>>>>>>>> +     */
>>>>>>>>>>>> +    public static void shutdown(boolean currentContext) {
>>>>>>>>>>>> +        shutdown(getContext(currentContext));
>>>>>>>>>>>> +    }
>>>>>>>>>>>> +
>>>>>>>>>>>> +    /**
>>>>>>>>>>>> +     * Shutdown the logging system if the logging system supports 
>>>>>>>>>>>> it.
>>>>>>>>>>>> +     * @param loader The ClassLoader for the context. If null the 
>>>>>>>>>>>> context will attempt to determine the appropriate
>>>>>>>>>>>> +     *            ClassLoader.
>>>>>>>>>>>> +     * @param currentContext if false the LoggerContext 
>>>>>>>>>>>> appropriate for the caller of this method will be used.
>>>>>>>>>>>> +     * @since 2.6
>>>>>>>>>>>> +     */
>>>>>>>>>>>> +    public static void shutdown(final ClassLoader loader, final 
>>>>>>>>>>>> boolean currentContext) {
>>>>>>>>>>>> +        shutdown(getContext(loader, currentContext));
>>>>>>>>>>>> +    }
>>>>>>>>>>>> +
>>>>>>>>>>>> +    /**
>>>>>>>>>>>> +     * Shutdown the logging system if the logging system supports 
>>>>>>>>>>>> it.
>>>>>>>>>>>> +     * @param context the LoggerContext.
>>>>>>>>>>>> +     * @since 2.6
>>>>>>>>>>>> +     */
>>>>>>>>>>>> +    public static void shutdown(LoggerContext context) {
>>>>>>>>>>>> +        if (context != null && context instanceof 
>>>>>>>>>>>> ShutdownCapable) {
>>>>>>>>>>>> +            ((ShutdownCapable) context).shutdown();
>>>>>>>>>>>> +        }
>>>>>>>>>>>> +    }
>>>>>>>>>>>> +
>>>>>>>>>>>> +    /**
>>>>>>>>>>>> +     * Shutdown the logging system if the logging system supports 
>>>>>>>>>>>> it.
>>>>>>>>>>>> +     * @param fqcn The fully qualified class name of the Class 
>>>>>>>>>>>> that this method is a member of.
>>>>>>>>>>>> +     * @param currentContext if false the LoggerContext 
>>>>>>>>>>>> appropriate for the caller of this method will be used.
>>>>>>>>>>>> +     * @since 2.6
>>>>>>>>>>>> +     */
>>>>>>>>>>>> +    protected static void shutdown(final String fqcn, final 
>>>>>>>>>>>> boolean currentContext) {
>>>>>>>>>>>> +        shutdown(getContext(fqcn, currentContext));
>>>>>>>>>>>> +    }
>>>>>>>>>>>> +
>>>>>>>>>>>> +    /**
>>>>>>>>>>>> +     * Shutdown the logging system if the logging system supports 
>>>>>>>>>>>> it.
>>>>>>>>>>>> +     * @param fqcn The fully qualified class name of the Class 
>>>>>>>>>>>> that this method is a member of.
>>>>>>>>>>>> +     * @param loader The ClassLoader for the context. If null the 
>>>>>>>>>>>> context will attempt to determine the appropriate
>>>>>>>>>>>> +     *            ClassLoader.
>>>>>>>>>>>> +     * @param currentContext if false the LoggerContext 
>>>>>>>>>>>> appropriate for the caller of this method will be used.
>>>>>>>>>>>> +     * @since 2.6
>>>>>>>>>>>> +     */
>>>>>>>>>>>> +    protected static void shutdown(final String fqcn, final 
>>>>>>>>>>>> ClassLoader loader, final boolean currentContext) {
>>>>>>>>>>>> +        shutdown(getContext(fqcn, loader, currentContext));
>>>>>>>>>>>> +    }
>>>>>>>>>>>> +
>>>>>>>>>>>> +    /**
>>>>>>>>>>>>       * Returns the current LoggerContextFactory.
>>>>>>>>>>>>       *
>>>>>>>>>>>>       * @return The LoggerContextFactory.
>>>>>>>>>>>> 
>>>>>>>>>>>> http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/2df3f0e7/log4j-api/src/main/java/org/apache/logging/log4j/spi/ShutdownCapable.java
>>>>>>>>>>>> ----------------------------------------------------------------------
>>>>>>>>>>>> diff --git 
>>>>>>>>>>>> a/log4j-api/src/main/java/org/apache/logging/log4j/spi/ShutdownCapable.java
>>>>>>>>>>>>  
>>>>>>>>>>>> b/log4j-api/src/main/java/org/apache/logging/log4j/spi/ShutdownCapable.java
>>>>>>>>>>>> new file mode 100644
>>>>>>>>>>>> index 0000000..a46ef60
>>>>>>>>>>>> --- /dev/null
>>>>>>>>>>>> +++ 
>>>>>>>>>>>> b/log4j-api/src/main/java/org/apache/logging/log4j/spi/ShutdownCapable.java
>>>>>>>>>>>> @@ -0,0 +1,17 @@
>>>>>>>>>>>> +/*
>>>>>>>>>>>> + * Copyright (c) 2016 Nextiva, Inc. to Present.
>>>>>>>>>>>> + * All rights reserved.
>>>>>>>>>>>> + */
>>>>>>>>>>>> +package org.apache.logging.log4j.spi;
>>>>>>>>>>>> +
>>>>>>>>>>>> +/**
>>>>>>>>>>>> + * Interface to be implemented by LoggerContext's that provide a 
>>>>>>>>>>>> shutdown method.
>>>>>>>>>>>> + * @since 2.6
>>>>>>>>>>>> + */
>>>>>>>>>>>> +public interface ShutdownCapable {
>>>>>>>>>>>> +
>>>>>>>>>>>> +    /**
>>>>>>>>>>>> +     * Requests that the logging implementation shut down.
>>>>>>>>>>>> +     */
>>>>>>>>>>>> +    void shutdown();
>>>>>>>>>>>> +}
>>>>>>>>>>>> 
>>>>>>>>>>>> http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/2df3f0e7/log4j-api/src/test/java/org/apache/logging/log4j/LogManagerTest.java
>>>>>>>>>>>> ----------------------------------------------------------------------
>>>>>>>>>>>> diff --git 
>>>>>>>>>>>> a/log4j-api/src/test/java/org/apache/logging/log4j/LogManagerTest.java
>>>>>>>>>>>>  
>>>>>>>>>>>> b/log4j-api/src/test/java/org/apache/logging/log4j/LogManagerTest.java
>>>>>>>>>>>> index 48f0eea..596a9f2 100644
>>>>>>>>>>>> --- 
>>>>>>>>>>>> a/log4j-api/src/test/java/org/apache/logging/log4j/LogManagerTest.java
>>>>>>>>>>>> +++ 
>>>>>>>>>>>> b/log4j-api/src/test/java/org/apache/logging/log4j/LogManagerTest.java
>>>>>>>>>>>> @@ -17,6 +17,7 @@
>>>>>>>>>>>>  package org.apache.logging.log4j;
>>>>>>>>>>>> 
>>>>>>>>>>>>  import 
>>>>>>>>>>>> org.apache.logging.log4j.message.ParameterizedMessageFactory;
>>>>>>>>>>>> +import org.apache.logging.log4j.spi.LoggerContext;
>>>>>>>>>>>>  import org.junit.Test;
>>>>>>>>>>>> 
>>>>>>>>>>>>  import static org.junit.Assert.*;
>>>>>>>>>>>> @@ -53,4 +54,10 @@ public class LogManagerTest {
>>>>>>>>>>>>          assertNotNull("No Logger returned", logger);
>>>>>>>>>>>>          assertTrue("Incorrect Logger name: " + 
>>>>>>>>>>>> logger.getName(),LogManagerTest.class.getName().equals(logger.getName()));
>>>>>>>>>>>>      }
>>>>>>>>>>>> +
>>>>>>>>>>>> +    @Test
>>>>>>>>>>>> +    public void testShutdown() {
>>>>>>>>>>>> +        LoggerContext loggerContext = 
>>>>>>>>>>>> LogManager.getContext(false);
>>>>>>>>>>>> +        LogManager.shutdown(loggerContext);
>>>>>>>>>>>> +    }
>>>>>>>>>>>>  }
>>>>>>>>>>>> 
>>>>>>>>>>>> http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/2df3f0e7/log4j-core/src/main/java/org/apache/logging/log4j/core/LoggerContext.java
>>>>>>>>>>>> ----------------------------------------------------------------------
>>>>>>>>>>>> diff --git 
>>>>>>>>>>>> a/log4j-core/src/main/java/org/apache/logging/log4j/core/LoggerContext.java
>>>>>>>>>>>>  
>>>>>>>>>>>> b/log4j-core/src/main/java/org/apache/logging/log4j/core/LoggerContext.java
>>>>>>>>>>>> index 42efbb5..fcdfc16 100644
>>>>>>>>>>>> --- 
>>>>>>>>>>>> a/log4j-core/src/main/java/org/apache/logging/log4j/core/LoggerContext.java
>>>>>>>>>>>> +++ 
>>>>>>>>>>>> b/log4j-core/src/main/java/org/apache/logging/log4j/core/LoggerContext.java
>>>>>>>>>>>> @@ -45,6 +45,7 @@ import 
>>>>>>>>>>>> org.apache.logging.log4j.message.MessageFactory;
>>>>>>>>>>>>  import org.apache.logging.log4j.spi.AbstractLogger;
>>>>>>>>>>>>  import org.apache.logging.log4j.spi.LoggerContextFactory;
>>>>>>>>>>>>  import org.apache.logging.log4j.spi.LoggerContextKey;
>>>>>>>>>>>> +import org.apache.logging.log4j.spi.ShutdownCapable;
>>>>>>>>>>>> 
>>>>>>>>>>>>  import static 
>>>>>>>>>>>> org.apache.logging.log4j.core.util.ShutdownCallbackRegistry.*;
>>>>>>>>>>>> 
>>>>>>>>>>>> @@ -54,7 +55,7 @@ import static 
>>>>>>>>>>>> org.apache.logging.log4j.core.util.ShutdownCallbackRegistry.*;
>>>>>>>>>>>>   * filters, etc and will be atomically updated whenever a 
>>>>>>>>>>>> reconfigure occurs.
>>>>>>>>>>>>   */
>>>>>>>>>>>>  public class LoggerContext extends AbstractLifeCycle implements 
>>>>>>>>>>>> org.apache.logging.log4j.spi.LoggerContext,
>>>>>>>>>>>> -        ConfigurationListener {
>>>>>>>>>>>> +        ShutdownCapable, ConfigurationListener {
>>>>>>>>>>>> 
>>>>>>>>>>>>      /**
>>>>>>>>>>>>       * Property name of the property change event fired if the 
>>>>>>>>>>>> configuration is changed.
>>>>>>>>>>>> @@ -278,6 +279,11 @@ public class LoggerContext extends 
>>>>>>>>>>>> AbstractLifeCycle implements org.apache.loggi
>>>>>>>>>>>>      }
>>>>>>>>>>>> 
>>>>>>>>>>>>      @Override
>>>>>>>>>>>> +    public void shutdown() {
>>>>>>>>>>>> +        stop();
>>>>>>>>>>>> +    }
>>>>>>>>>>>> +
>>>>>>>>>>>> +    @Override
>>>>>>>>>>>>      public void stop() {
>>>>>>>>>>>>          LOGGER.debug("Stopping LoggerContext[name={}, {}]...", 
>>>>>>>>>>>> getName(), this);
>>>>>>>>>>>>          configLock.lock();
>>>>>>>>> 
>>>>>>>>> 
>>>>>>>>> 
>>>>>>>>> -- 
>>>>>>>>> E-Mail: [email protected] | [email protected] 
>>>>>>>>> Java Persistence with Hibernate, Second Edition
>>>>>>>>> JUnit in Action, Second Edition
>>>>>>>>> Spring Batch in Action
>>>>>>>>> Blog: http://garygregory.wordpress.com 
>>>>>>>>> Home: http://garygregory.com/
>>>>>>>>> Tweet! http://twitter.com/GaryGregory
>>>>>>>> 
>>>>>>>> 
>>>>>>>> 
>>>>>>>> -- 
>>>>>>>> E-Mail: [email protected] | [email protected] 
>>>>>>>> Java Persistence with Hibernate, Second Edition
>>>>>>>> JUnit in Action, Second Edition
>>>>>>>> Spring Batch in Action
>>>>>>>> Blog: http://garygregory.wordpress.com 
>>>>>>>> Home: http://garygregory.com/
>>>>>>>> Tweet! http://twitter.com/GaryGregory
>>>>>> 
>>>>>> 
>>>>>> 
>>>>>> -- 
>>>>>> E-Mail: [email protected] | [email protected] 
>>>>>> Java Persistence with Hibernate, Second Edition
>>>>>> JUnit in Action, Second Edition
>>>>>> Spring Batch in Action
>>>>>> Blog: http://garygregory.wordpress.com 
>>>>>> Home: http://garygregory.com/
>>>>>> Tweet! http://twitter.com/GaryGregory
>>>> 
>>>> 
>>>> 
>>>> -- 
>>>> Matt Sicker <[email protected]>
>> 
>> 
>> 
>> -- 
>> Matt Sicker <[email protected]>
> 
> 
> 
> -- 
>  
> 
> Mikael Ståldal
> Senior software developer 
> 
> Magine TV
> [email protected]    
> Grev Turegatan 3  | 114 46 Stockholm, Sweden  |   www.magine.com             
> 
> Privileged and/or Confidential Information may be contained in this message. 
> If you are not the addressee indicated in this message
> (or responsible for delivery of the message to such a person), you may not 
> copy or deliver this message to anyone. In such case, 
> you should destroy this message and kindly notify the sender by reply email.  
>  

Reply via email to