user54358: Will a delay() function in a void SerialEvent() also stop the code that is running in the void loop() function? 
This is about an Arduino Uno.

user37622: This is the main function of the Arduino core:
int main(void)
{
    init();

    initVariant();

#if defined(USBCON)
    USBDevice.attach();
#endif

    setup();

    for (;;) {
        loop();
        if (serialEventRun) serialEventRun();
    }

    return 0;
}

serialEventRun() runs the serialEvent() function, if it is assigned,
so yes, a delay in serialEventRun will delay the loop.

54358: <p>Will a delay() function in a void SerialEvent() also stop the code that is running in the void loop() function? </p>

<p>This is about an Arduino Uno.</p>
 37622: <p>This is the main function of the Arduino core:</p>

<pre><code>int main(void)
{
    init();

    initVariant();

#if defined(USBCON)
    USBDevice.attach();
#endif

    setup();

    for (;;) {
        loop();
        if (serialEventRun) serialEventRun();
    }

    return 0;
}
</code></pre>

<p><code>serialEventRun()</code> runs the <code>serialEvent()</code> function, if it is assigned,
so yes, <strong>a delay in serialEventRun will delay the loop</strong>.</p>
