It is a bitwise OR compound assignment.
In the same way as you can write x += y to mean x = x + y
you can write x |= y to mean x = x | y, which ORs together all the bits of x and y and then places the result in x.
Beware that it can be overloaded, but for basic types you should be ok :-)