Call Arduino functions (LEDs, etc.) using... functions?

Hello, I am quite new to Arduino and this is only my 4th or so program so this may be why I'm confused.
I wrote a small example to showcase my problem:

void blink()
{
  digitalWrite(pin, HIGH);
  delay(100);
  digitalWrite(pin, LOW);
}

void setup() {
  pinMode(pin, OUTPUT);
}

void loop() {
  // put your main code here, to run repeatedly:
  blink();

  digitalWrite(pin, HIGH);
  delay(100);
  digitalWrite(pin, LOW);

  delay(1000);
}

Even though I think it should blink twice with every loop, it only blinks once. This must be because the function isn't actually sending a signal (when I remove the function it still blinks).
Why is this? Is there a way to make the LED blink through a function? Thanks in advance.

You forgot a delay. :grin: