2 Arduinos over I2C with delay

Hello community

I tried to connect two arduinos over the I2C/Two-Wire connection. The example code from the arduino IDE worked quit well. I used the master_reader and slave_sender.
No, I have a problem. I’d like to send some data over to the slave. Then the slave takes this data and is doing some processing. At that moment I request data from this slave. Due the caculations, the slave can only respond after the calculation has be done.
My question:
Is there a possibility to do a clock strechting on the onRequest event? According to the I2C specification the slave can control the clock line by set it to LOW. Can I do this with analogWrite?
Or do I have to poll (from master to slave) the data with a delay?
The master script is blocking, if I add a little delay to the onRequest-event function. At the moment, I don’t know the reason of this.

// Wire Slave Sender

// Demonstrates use of the Wire library
// Sends data as an I2C/TWI slave device
// Refer to the "Wire Master Reader" example for use with this

// Created 29 March 2006

#include <Wire.h>

void setup()
  Wire.begin(2);                // join i2c bus with address #2
  Wire.onRequest(requestEvent); // register event

void loop()

// function that executes whenever data is requested by master
// this function is registered as an event, see setup()
void requestEvent()
  delay(0); // master and slave are blocking here
  Wire.send("hello "); // respond with message of 6 bytes
                    // as expected by master

Thanks for helping